[Python] 키움증권 OpenAPI 모듈 사용 시 동작이 안할때!
키움 OpenAPI의 경우 다른 증권사의 COM 모듈과 달리 OCX (Object Linking and Embedding Custom Control) 방식을 사용합니다.
공식적으로 OpenAPI 자체에서 지원하는 언어는 아니지만, 파이썬에서도 해당 모듈을 로드하여 사용이 가능하긴 합니다.
일단 환경을 모두 만들어서 함수를 테스트 했는데..
동작을 안합니다.
분명 Login 창이 떠야 하는데
전혀 응답이 없습니다. 왜그러지.. 를 몇시간 동안 찾아보다
결과는 64bit 파이썬이 문제였음을 발견했네요ㅠㅠ
설치되어 있던 Anaconda3 64 bit 버전을 32 bit으로 변경하니
ocx가 정상적으로 동작하는 것을 확인했습니다.
이제 기존에 사용하던 함수들을 테스트 해봐야겠습니다!
아래는 간단히 로그인 창을 실행하는 소스 입니다.
Github: https://github.com/ResetDy/Blog_Python/blob/master/loginTest.py
import sys
from PyQt5.QtWidgets import *
from PyQt5.QAxContainer import *
class MyWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("DonDon Test")
self.setGeometry(500, 500, 1000, 1000)
self.kiwoom = QAxWidget("KHOPENAPI.KHOpenAPICtrl.1")
btn1 = QPushButton("Login", self)
btn1.move(20, 20)
btn1.clicked.connect(self.btn1_clicked)
btn2 = QPushButton("Click State", self)
btn2.move(20, 70)
btn2.clicked.connect(self.btn2_clicked)
def btn1_clicked(self):
self.login()
def btn2_clicked(self):
if self.kiwoom.dynamicCall("GetConnectState()") == 0:
self.statusBar().showMessage("Not Connect")
else:
self.statusBar().showMessage("Connected")
def login(self):
self.kiwoom.dynamicCall("CommConnect()")
if __name__ == "__main__":
app = QApplication(sys.argv)
mywindow = MyWindow()
mywindow.show()
app.exec_()
'Programming > Python' 카테고리의 다른 글
[Python] Qt designer으로 만들어진 ui 파일 파이썬에서 로드시키기 (0) | 2018.03.30 |
---|---|
[Python] 키움증권 OpenAPI 종목 기본정보 요청하기 (0) | 2018.03.30 |
[Python] 키움증권 OpenAPI 로그인 이벤트 연결 및 적용 (0) | 2018.03.29 |
[Python] 데이터 시각화 중 신기했던 로또번호 (0) | 2018.03.26 |
[Python] 간단한 웹페이지 읽어오기 (0) | 2018.03.22 |
[Python] 파일 오픈시 Encoding 오류 (미결) (0) | 2018.03.21 |
[Python] List 자료형 (0) | 2018.03.20 |
[Python] Thread 테스트 (2) | 2018.03.20 |
댓글
이 글 공유하기
다른 글
-
[Python] 키움증권 OpenAPI 종목 기본정보 요청하기
[Python] 키움증권 OpenAPI 종목 기본정보 요청하기
2018.03.30 -
[Python] 키움증권 OpenAPI 로그인 이벤트 연결 및 적용
[Python] 키움증권 OpenAPI 로그인 이벤트 연결 및 적용
2018.03.29 -
[Python] 데이터 시각화 중 신기했던 로또번호
[Python] 데이터 시각화 중 신기했던 로또번호
2018.03.26 -
[Python] 간단한 웹페이지 읽어오기
[Python] 간단한 웹페이지 읽어오기
2018.03.22