이 계좌번호는 예수금을 얻어 오는 데 사용되는 등 추후에도 필요한 값이지만 변경되는 것은 아니므로 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