c. 파이썬

[파이썬 / 증권사 API활용](2) QAxcontainer 사용 및 키움 모의투자 신청

로봇쟁이 2024. 8. 26. 23:55

QAxcontainer를 이용하면 ActiveX와 COM 객체를 생성하여 메소드 이용이 가능하다.

그럼 OpenAPI+를 사용할 수 있으므로 위젯을 하나 만들어본다.

import sys
from PyQt5.QtWidgets import *
from PyQt5.QAxContainer import *


class App(QWidget):
    def __init__(self):
        super().__init__()
        self.woom = QAxWidget("KHOPENAPI.KHOpenAPICtrl.1")
        self.woom.dynamicCall("CommConnect()")
        self.woom.OnEventConnect.connect(self.OnEventConnect)

    def OnEventConnect(self, err_code):
        print(err_code)
        
        
if __name__ == "__main__":
    app = QApplication(sys.argv)
    myApp = App()
    myApp.show()
    app.exec_()

 

실행을 시켜보면 OpenAPI가 실행되는 것을 확인 할 수 있다.

 

 

혹시 AttributeError: 'QAxWidget' object has no attribute 'OnEventConnect'

이런 에러가 발생하는 경우 개인적으로는 OpenAPI+가 정상적으로 설치가 안되었을 때 발생하는 부분으로 보인다.

 

OpenAPI가 정상 설치되었다면 C드라이브에 OpenAPI 폴더가 생성되어있고 폴더 안에는 파일이 있음을 확인할 수 있다.

 

혹시 실행을 시켰으나 버전과 파일 삭제 실패와 같은 메시지가 나올 수 있다.

그럴땐 폴더 안에 있는 opversionup 파일을 관리자 권한으로 실행시키면 문제가 해결된다.

 

로그인을 하고 싶으면 모의투자를 신청할 수 있다.

신청은 키움 홈페이지에서 진행하면 된다.

 

제 35회 키움증권 대학생 모투대회

참가만 해도 미국소수점주식 증정!장학금, 인턴십, 해외탐방 등 각종 경품 가득!

www.kiwoom.com

 

현재는 로그인만 가능하고 이외에는 동작하지 않음을 알 수 있다.

반응형