전체 글3625 GUI 프리징(freezing)의 해결 안녕하세요? 정말로 오랜 시간이 걸리기는 걸렸습니다. 아무튼 간에 이번 포스팅에서야 말로 간단하고 정말 어이없이 간단한 이 해결책을 찾아내지 못해서 한참이나 헤메이게 되었는데, 그 내용의 종지부를 찍고자 합니다. 일단 여기까지가 2월 첫번째 일요일에 있었던 작업의 내용을 올리느라 밀리고 밀렸는 포스팅의 내용이었습니다. 먼저 인터넷을 뒤지다가 위 스크린샷처럼 QApplication.processEvent()라는 명령어를 for루프-문이나 이런 반복문에 넣어줘야 반응을 기다리는 상태가 된다고 합니다. 그래서 먼저 이를 위해서 __init__()에 먼저 QApplication.processEvents()를 방금전까지 QThread를 연습했던 구문에 넣어 주도록 합니다. 그리고 나서 먼저 for 문 안에다가 위.. 2020. 2. 7. QThread와 main 스레드간의 통신 연결-complete- 안녕하세요? 어떻게 자료를 나누다 보니 실수로 정말로 짧은 블로그 포스팅이 나올 정도로 자료를 이상하게 자르고 말았습니다. 그래도 일단 작업이 완료가 되었다는 것을 선언할 필요가 있어서, 부득이하게 이번 포스팅을 올리게 되었습니다. 아무튼 지난번에 sleep명령어를 없애도 제대로 작업이 되는지를 의문시 하고 끝냈는데, 이번 포스팅에서 확실하게 보여드리겠습니다. 일단 위 스크린샷에서 보이는 것처럼 모든 sleep()함수를 모두 다 주석처리하는 것으로 무력화 시키고자 했습니다. 이렇게 하는 것으로 일단 작업이 하나 완료가 되었습니다. 이렇게 해도 결과의 생성에는 아무런 문제가 없는 것을 확인할 수 있었습니다. 그래서 모든 것이 잘 되었느냐 하면, 그건 아닌 것이, 이번 일련의 포스팅으로 일단 QThread와.. 2020. 2. 7. QThread와 main 스레드간의 통신 연결-6- 안녕하세요? 이번 포스팅에서는 드디어 프로그레스 바의 세세한 부분까지 지정하기 위해서 이제 작업에 들어가 보고자 합니다. 일단 이 작업을 위해서는 역시나 만만치 않은 작업이 남아 있지만, 일단 갈 때까지 가도록 해 보겠습니다. 일단 이 작업을 추가로 이어가기 위해서는 pyqtSignal이 더 필요했습니다. 이 작업을 하기 위한 밑 발판을 깔아 두도록 합니다. 그리고 나서 이 작업을 하기 위한 sleep()함수와 마찬가지로 있는 신호를 송출하기 위한 메서드를 만들어 보도록 ㅎ바니다. 그리고 나서 다음으로 해야 할일은 위 스크린샷에서 볼 수 있는 것처럼 일단 프로그레스 바에 작업을 하기 위해서 메서드를 추가로 만들어 줍니다. 그리고 나서 다음으로 해야 할일은 위 스크린샷에서 볼 수 있는 것처럼 일단 뭔래라면.. 2020. 2. 7. QThread와 main 스레드간의 통신 연결-5- 안녕하세요? 지난번 포스팅에서 제 의도와는 상당히 벗어난 결과가 나와서 통신은 어떻게 되기는 되는데, 정작 QThread에서 메인 스레드의 GUI 구성요소를 제대로 제어하지 못하는 현상이 발생했습니다. 그래서 이번에는 이런 상황을 타개하고자 어떻게 여러가지 시행착오를 거쳤고, 그 내용을 올리고자 합니다. 먼저 이 작업을 위해서 QThread에서 Stop이라는 메서드를 따로 만들도록 합니다. 왜 이렇게 하느냐 하면, 그냥은 정지하라는 메서드가 없기 때문에, 일단 위 스크린샷처럼 self.terminate()란느 명령으로 강제로 종료를 시킬 수 밖에 없습니다. 그리고 나서 다음으로 해야 할일은 위 스크린샷에서 볼 수 있는 것과 같이, 일단 wait()이라는 명령어를 써서 QThread가 종료가 될 때까지 일.. 2020. 2. 6. 이전 1 ··· 512 513 514 515 516 517 518 ··· 907 다음