본문 바로가기
무모한 도전-주식 인공지능 만들기

pytrader를 만드는 실습에 들어가기-5-

by 인터넷떠돌이 2018. 11. 29.
반응형

안녕하세요?


지난번 시간에 kiwoom.py에 새로운 메소드를 집어넣도록 했고, 그 다음에는 pytrader.py라는 스크립트의 첫 머리 부분을 만드는 것 까지 보여주었습니다. 그래서 이번에는 나머지 내용을 만들어 보도록 하고, 관련된 내용을 포스팅 하고자 합니다.



다음으로는 def timeout(): 이라는 메소드를 만들어 주도록 합니다. 이렇게 하는 것으로 위에서 만들어 놓은 self.timer.timeout.connect(self.timeout) 항목에서 지시가 되어서, def timeout(): 이라는 이 메소드가 실행이 되는 것 입니다.



그런데 어딘가 에러가 발생했는지, 제대로 실행이 되지 않는 것을 확인할 수 있었습니다. 그래서 에러 메세지를 보고서, 어디가 잘못된 것인지 일단 확인해 보도록 합니다.



어디가 문제인가 했더니, 처음에는 대소문자 구분인가 했는데, 결국에는 위 스크린샷처럼 from kiwoom import * 이라는 형식보다는 차라리 간단하고 단순명료하게 import kiwoom이라는 식으로 입력하나는 것으로 제대로 작용이 되도록 합니다. 이러자 방금전의 에러는 사라진 것을 확인할 수 있었습니다.




이번에는 GUI에 있는 모듈을 불러 올 수 없다는 에러가 뜨는 것을 볼 수 있습니다. 그래서 산넘어 산이라고, 이번에는 또 어떤 문제인지 일단 알아보러 가야 했습니다.



먼저 위 스크린샷처럼 if __name__=="__main__": 아래에 있는 MainWindow()를 QMainWindow()라고 바꾸어서 실행을 시켜 보도록 합니다.



일단 박스가 뜨기는 뜨는데, 문제가 하나 생겼습니다. 이게 제가 의도한 GUI가 아니라 그냥 기본적으로 나오는 윈도우 박스가 나오는 것을 볼 수 있었습니다. 이건 문제라면 문제라는 생각이 들었습니다.



그래서 자료를 많이 찾아본 결과, setupUi()라는 함수가 있다고 합니다. 이 함수야 말로 제대로 제가 만들어 놓은 GUI를 표현하기 위해서 가장 필요한 함수인듯 한데, 지금의 제 수준으로는 setupUI()가 무슨 의미의 함수인지는 아직까지는 잘 모르겠습니다.




이제서야 제가 디자인을 했는 그래도 뭐가 나오는 것을 확인할 수 있었습니다. 다만 pytrader.py라는 스크립트만 실행시킨 것이기 때문에, 아직까지는 connected나 disconnected라고 하는 것이 나오지 않습니다.



마지막으로 이게 어떻게 작동이 되는 지를 보여주는 gif파일입니다. 잘 보시면 자동으로 제가 지정한 대로 비밀번호가 뚫리고, 다음으로는 번개3로 접속이 되는 것 까지 확인을 할 수 있었습니다. 이렇게 하는 것으로 전체 6일간의 작업중에서 어떻게 해서 1일간의 작업 결과가 마무리가 어렵게 되었습니다. 나머지 6일간의 작업이 얼마나 걸릴 것인지는 아직까지는 잘 모르겠습니다.

반응형