본문 바로가기

코딩198

초기 테스트에 멀티 스레드를 적용해 보기 -1- 안녕하세요? 지난번에 120개 분봉을 이용해서 평균과 표준편차를 구해서 초기 테스트를 하였고, 그 결과를 분석해 보았습니다만, 문제는 끔찍하게 속도가 많이 느렸습니다. 그래서 하는 수 없이 이걸 멀티 스레드를 이용해서 한번에 여러개의 조건을 동시에 시도해 볼 수 없을까 해서 한번 시도해 보기로 했습니다. 먼저 하려고 하는 작업은 exe파일로 빌드가 가능한지 다시한번 더 작업을 해 보았습니다. 먼저 해야 하는 일은 새로운 이름으로 새로운 프로젝트를 생성하는 작업을 먼저 시도하기로 했습니다. 이 작업을 하기 위해서 새로 이름을 붙여야 했습니다. 그리고 나서 필요한 py파일과 ui파일들을 새로 생성된 프로젝트의 폴더에 복사해서 가지고 오도록 합니다. 일단 일련의 파일들을 위 스크린샷에서 보이는 대로 입니다. .. 2020. 2. 21.
QThread와 main 스레드간의 통신 연결-6- 안녕하세요? 이번 포스팅에서는 드디어 프로그레스 바의 세세한 부분까지 지정하기 위해서 이제 작업에 들어가 보고자 합니다. 일단 이 작업을 위해서는 역시나 만만치 않은 작업이 남아 있지만, 일단 갈 때까지 가도록 해 보겠습니다. 일단 이 작업을 추가로 이어가기 위해서는 pyqtSignal이 더 필요했습니다. 이 작업을 하기 위한 밑 발판을 깔아 두도록 합니다. 그리고 나서 이 작업을 하기 위한 sleep()함수와 마찬가지로 있는 신호를 송출하기 위한 메서드를 만들어 보도록 ㅎ바니다. 그리고 나서 다음으로 해야 할일은 위 스크린샷에서 볼 수 있는 것처럼 일단 프로그레스 바에 작업을 하기 위해서 메서드를 추가로 만들어 줍니다. 그리고 나서 다음으로 해야 할일은 위 스크린샷에서 볼 수 있는 것처럼 일단 뭔래라면.. 2020. 2. 7.
QThread와 main 스레드간의 통신 연결-5- 안녕하세요? 지난번 포스팅에서 제 의도와는 상당히 벗어난 결과가 나와서 통신은 어떻게 되기는 되는데, 정작 QThread에서 메인 스레드의 GUI 구성요소를 제대로 제어하지 못하는 현상이 발생했습니다. 그래서 이번에는 이런 상황을 타개하고자 어떻게 여러가지 시행착오를 거쳤고, 그 내용을 올리고자 합니다. 먼저 이 작업을 위해서 QThread에서 Stop이라는 메서드를 따로 만들도록 합니다. 왜 이렇게 하느냐 하면, 그냥은 정지하라는 메서드가 없기 때문에, 일단 위 스크린샷처럼 self.terminate()란느 명령으로 강제로 종료를 시킬 수 밖에 없습니다. 그리고 나서 다음으로 해야 할일은 위 스크린샷에서 볼 수 있는 것과 같이, 일단 wait()이라는 명령어를 써서 QThread가 종료가 될 때까지 일.. 2020. 2. 6.
QThread와 main 스레드간의 통신 연결-4- 안녕하세요? 계속해서 이어지는 QThread와 메인 스레드의 통신이라고 해야 할까, 단순한 통신이 아니라 아예 QThread에서 메인 스레드에 있는 GUI구성요소 중에 프로그레스 바를 제어하는 방법을 한번 연습하는 것에 가까워지고 있는데, 아무튼 이 시행착오를 벌인 내용에 대해서 포스팅을 해 보고자 합니다. 먼저 위 스크린샷에서 볼 수 있는 것처럼 QThread역할을 하는 클래스에서 신호를 송출할 때, 이번에는 서브 프로세스 - 한개의 종목에 대해서 읽어서 처리하는 과정에 대해서 한번 신호를 보내보고자 합니다. 먼저 위 스크린샷의 내용처럼 for문에서 쓸데없이 너무 반복이 되는 현상이 관찰이 되어서, 위 스크린샷에서 볼 수 있는 것처럼 그냥 2부분에서 3부분으로 메서드를 또 나누어 보고자 합니다. 아니,.. 2020. 2. 6.