본문 바로가기

프로그래밍377

pytrader의 parent process를 만드는 작업에 들어가 보기-9- 안녕하세요? 지난번 포스팅에서 어떻게 해서 QTheadPool안에 있는 globalInstance()를 실행시켜서, 일단 제 경우에는 같은 스크립트 안에 있는 다른 클래스를 실행시키는 것 까지는 성공했습니다. 이제는 이 클래스에서 while문을 사용하는 새로운 무한 반복 루프를 작동시킬 차례입니다. 먼저 해야할 일은 한번 파이참(PyCharm)에서 디버그를 작동시켜서 왜 pytrader2가 실행이 되지 않는가 했는데, 위 스크린샷처럼 self.Runnable = Runnable()에서 계속 루프를 돌기 때문이라는 것을 확인할 수 있었습니다. 그래서 루프의 원인이 되는 코드를 아예 주석처리를 하도록 했습니다. 다음으로는 run()이라는 Runnable클래스 안에서, 위 스크린샷에 보이는 것처럼 QMetaO.. 2019. 3. 22.
pytrader의 parent process를 만드는 작업에 들어가 보기-8- 안녕하세요? 어디가 문제인지 알아보니, 일단 파이썬의 경우에는 GUI프로그래밍을 할때 while과 같은 무한 루프문을 사용하면 그대로 프로그램이 얼어버린다는 문제가 있습니다. 그래서 이 문제를 해결하고자 자료를 검색하고 다양한 시도를 했는데, 오늘은 그 시도중에 하나인 QRunnable()을 사용해서 다른 class에 있는 메서드로 만들어서 사용하는 방법을 일단 연습하였고, 그 연습내용을 포스팅 하고자 합니다. 먼저 작업을 원활하게 하기 위해서, 위 스크린샷과 같이 PyQt5에서 QtGui, QtCore, QtWidgets를 import하도록 만들어 줘 봅니다. 다음으로는 원래 Class를 선언하는 괄호 안에는 QMainWindow가 들어가야 하는데, 이걸 QtWidgets.QWidget으로 바꾸어 주도.. 2019. 3. 21.
pytrader의 parent process를 만드는 작업에 들어가 보기-7- 안녕하세요? 이번 포스팅에서는 지난번에 pytrader2에 각종 데이터를 제대로 전달하는 것을 성공적으로 보여주는 데 성공했습니다. 그런데 이걸 일정 횟수 이상 pytrader2가 작동을 하고 나면, 자동으로 pytrader2를 종료하고, 이후에 다시 시작시키는 작업을 하고자 합니다. 먼저 이전에 하였는 Wrong_Turn_Season_2()라는 메서드에서 힌트를 얻도록 했습니다. 여기서 사용이 되는 self가 붙어 있는 카운터가 있는데, 이걸 기준으로 해서 한번 로그인에 10번 조회가 걸리지 않도록 하는 것 입니다. 일단 해당하는 메서드를 실행시키고 나면, 위 스크린샷에 나와 있는 것처럼 한번 실행을 할때마다 카운터가 한번씩 작동을 하게 되는데, 이 작동하는 카운터의 갯수가 500초과가 될 경우 pyt.. 2019. 3. 21.
pytrader의 parent process를 만드는 작업에 들어가 보기-6- 안녕하세요? 오늘은 하루종일 일이 있어서 블로그 포스팅을 올리는 시간이 많이 늦어졌는데, 그래도 그 동안 했는 것이 있어서 그 내용을 올리고자 합니다. 지난번에는 종목코드가 pytrader2에 전달이 되는 것까지 했는데, 이번에는 어떻게 나머지 요소들이 들어가는 지에 대해서 한번 올려 보고자 합니다. 먼저 작업을 위해서 데이터 베이스가 지정이 되었는지 여부를 알 수 있도록 한번 다른 종류의 위젯을 위 스크린샷과 같이 Qt designer에서 디자인을 하도록 합니다. 그리고 나서 이 텍스트 브라우져에서 위 스크린샷처럼 데이터 베이스의 경로가 표시가 될 수 있도록 만들어 주도록 합니다. 일단 텍스트 브라우져가 제대로 반영이 되는 것 까지는 어떻게 해서 확인을 할 수 있었습니다. 이제 여기에 지정을 했는 데이.. 2019. 3. 20.