더북(TheBook)

함수를 살펴보면 매개변수 err_code를 사용하며, 2장에서 함수를 배울 때 설명했듯이 매개변수명이 중요한 것이 아니라 전달받는 위치가 중요하므로 KOA에서는 매개변수명을 nErrCode라고 만들었지만, 여기서는 err_code라고 사용했습니다. 따라서 이 변수를 사용하여 로그인 처리에 대한 성공/실패 구분 값을 전달받게 되며, err_code 값이 0이면 로그인이 성공했다는 의미로 connected를 출력하고 err_code 값이 0이 아니면 로그인이 실패했다는 의미로 not connected를 출력합니다.

self._login_slot 함수를 구성했으면 self.OnEventConnect.connect(self._login_slot)을 사용하여 로그인 응답 처리를 가능하게 하는 self._set_signal_slots 함수를 호출해야 self._login_slot을 사용할 수 있습니다. 또 self._set_signal_slots 호출은 프로그램이 시작하는 초기화 함수(생성자)에서 하도록 구성했습니다.

Kiwoom.py

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

여기서 self._set_signal_slots 함수는 앞서 설명했듯이 API로 보내는 여러 요청에 대한 응답 처리를 담당하는 slot 함수를 호출합니다. 아직은 로그인만 다루어 보았기 때문에 self.OnEventConnect.connect 외 다른 코드는 없지만, 앞으로 _set_signal_slots 함수에 계속 코드를 추가할 예정입니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.