더북(TheBook)

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()
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.