본문 바로가기

PyQt9

QThread를 향한 공부-final- 안녕하세요? 제목에는 final이라고 적었지만, 이게....... 공부라는 것을 어디까지 둘지 생각해 본다면, 일단 지금은 알고리즘 트레이딩을 하기 위해서 필요한 수준까지만이라고 하자면, 그 까지는 어떻게 도달한 것 같다는 것을 말하기 위해서 final이라고 이름을 붙였습니다. 물론 멀티 스레딩이니, QThread에서도 파면 팔수록 무한히 무언가가 나오겠지만, 언제까지 이것만 팔 수 없기에 이렇게 여기서 잠시 멈추고, 다음의 작업을 이어가도록 해 보는 것 입니다. 먼저 해야할 일은 이게 진짜로 동시에 실행이 된 것이 맞는지 아닌지 알아보기 위해서, 한번 위 스크린샷처럼 시간을 알 수 있는 모듈인 datetime을 import해 오도록 합니다. 그리고 나서 QRunnable에서 위 스크린샷처럼 시간을 적어.. 2019. 7. 26.
QThread를 향한 공부-4- 안녕하세요? 지난번 포스팅에서 어떻게 4개의 스레드를 PyQt환경에서 실행을 시키는 데는 성공했는데, 이정도선에서 만족할 수는 없었기에 이번 포스팅에서는 한번 갯수를 늘려서 실행을 시켜 보고 나서, 그 결과를 올려 보고자 합니다. 그리고 나서 위 스크린샷에서 나오는 것처럼 일단 처음에는 각각의 스레드마다 데이터를 GUI스레드 = 메인 스레드에서 받을 수 있는지를 한번 처리해 보고자 합니다. 먼저 __init__에 number라는 새로운 변수를 주도록 합니다. 그리고 나서 다음으로 해야 할일은 위 스크린샷처럼 스레드를 만들면서 ()안에 변수를 집어넣어 주는 것으로 시작을 해 보도록 합니다. 그리고 나서 위 스크린샷처럼 일단 작업을 하고 나면, 진짜로 스레드마다 번호가 붙는 것을 확인할 수 있었습니다. 그리.. 2019. 7. 26.
QThread를 향한 공부-2- 안녕하세요? 이번 포스팅에서는 지난번 포스팅에 이어서 QThread를 공부해 보기 위해서 올리는 포스팅입니다. 일단 지난번 포스팅에서 어떻게 다른 스레드를 실행시키는 것 까지는 성공했는데, 이번 포스팅에서는 어떻게 추가적인 내용을 가지고 실습해본 내용에 대해서 다루어 볼까 합니다. 그리고 나서 다음으로 해야 할일은 위 스크린샷에서 볼 수 있는 것처럼 __init__를 이용해서 일종의 데이터를 받아와서 QRunnable을 생성하는 작업에 대해서 일단 다루어 볼까 합니다. 일단 이런 상황에서 실행을 시켜 보면, 위 스크린샷과 같이 의미를 알 수 없는 빈 데이터 더미들이 생성이 되는데, 이게 나중에 무슨 역할을 하는지는 모르겠습니다. 그리고 나서 다음으로 위 스크린샷처럼 self.fn을 추가시켜 주고 나서, .. 2019. 7. 25.
QThread를 향한 공부 안녕하세요? 지난번 포스팅에서 멀티 프로세싱에서 한계가 있었지만, 한번 찾아보니까, PyQt5에서는 QThread라는 것을 기본적으로 지원하고 있으며, 이게 멀티 스레딩이 된다는 정보까지는 얻었습니다. 그래서 이번 포스팅에서는 이 QThread를 한번 공부해 보는 것으로 포스팅을 하고자 합니다. 먼저 연습을 위해서 MyStockTrader라는 프로젝트 안에서 위 스크린샷과 같이 multithread.py를 만들어 보도록 해야 합니다. 다음으로 일단 인터넷에 나와 있는 코드를 그대로 옮겨 오도록 합니다. 이 코드는 윈도우 창을 하나 띄우고, 시간이 지나면서 카운트가 올라가는 카운터가 있으며, 버튼이 하나 있는 식으로 있습니다. 그리고 나서 버튼을 누르면 위 스크린샷과 같이 sleep명령어를 줘서 5초간 뭐.. 2019. 7. 25.