self.OnEventConnect.connect(self._login_slot)을 호출하면 로그인 이벤트가 발생할 때 자동으로 self._login_slot 함수를 호출하여 로그인 응답을 처리합니다. 이때 self._login_slot 함수에서 전달받는 매개변수는 nErrCode 하나이며, 이에 대한 설명은 KOA에 나오듯이 로그인에 성공하면 0을 전달하고 에러가 발생하면 상황에 따라 다른 값(100, 101, 102)을 전달합니다.
이렇게 로그인 응답 처리에 사용할 매개변수와 그 의미를 알았으면 self._login_slot 함수를 만들어 보겠습니다.
Kiwoom.py
(...)
class Kiwoom(QAxWidget):
def __init__(self):
super().__init__()
self._make_kiwoom_instance()
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()