더북(TheBook)

이 계좌번호는 예수금을 얻어 오는 데 사용되는 등 추후에도 필요한 값이지만 변경되는 것은 아니므로 Kiwoom 클래스가 생성될 때 초기화 함수에서 한 번만 호출하도록 하겠습니다. 함수 호출로 얻어 온 계좌번호는 account_number라는 변수에 저장하는 것으로 마무리하겠습니다.

Kiwoom.py

from PyQt5.QAxContainer import *
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *

class Kiwoom(QAxWidget):
    def __init__(self):
        super().__init__()
        self._make_kiwoom_instance()
        self._set_signal_slots()
        self._comm_connect()

        self.account_number = self.get_account_number() ------ 계좌번호 저장

    def _make_kiwoom_instance(self):
        self.setControl("KHOPENAPI.KHOpenAPICtrl.1")

    def _set_signal_slots(self):
        self.OnEventConnect.connect(self._login_slot)

    def _login_slot(self, err_code):
        if err_code == 0:
            print("connected")
        else:
            print("not connected")

        self.login_event_loop.exit()

    def _comm_connect(self):
        self.dynamicCall("CommConnect()")

        self.login_event_loop = QEventLoop()
        self.login_event_loop.exec_()

    def get_account_number(self, tag="ACCNO"): ------ 계좌번호를 얻어 오는 함수
        account_list = self.dynamicCall("GetLoginInfo(QString)", tag) ------ tag로 전달한 요청에 대한 응답을 받아 옴
        account_number = account_list.split(';')[0]
        print(account_number)
        return account_number
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.