본문 바로가기

파이썬1295

pytrader의 parent process를 만드는 작업에 들어가 보기-10- 안녕하세요? 지난번 포스팅에서는 벽에 부딪친 것을 포스팅 하였습니다만, 이번 포스팅에서는 그래도 작업을 이어 나가기 위해서 한번 해결책이 있는지 이래저래 살펴 보았고, 이제는 그 내용을 포스팅 하고자 합니다. 먼저 위 스크린샷에 보이는 것처럼 두번째 클래스인 Runnable은 run메서드에 pytrader를 실행시키는 메서드를 직접 집어 넣도록 합니다. 그러자 이제서야 제대로 pytrader2가 실행이 되는 것을 확인할 수 있었습니다. 이것으로 invokeMethod라는 것을 사용하지 않고도 일단 가능해 보였습니다. 다음으로는 이제 부모 프로세스에서 버튼을 떼었을 때에도 제대로 pytrader2가 종료가 될 수 있도록 만들어 낼 수 있도록 이제 End_of_Pytrader2라는 메서드를 손보도록 합니다... 2019. 3. 22.
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.