본문 바로가기

GUI62

멀티 프로세스를 이용한 병렬처리에 들어가 보기 -5- 안녕하세요? 지난번 포스팅에서는 어떻게 어찌어찌해서 QProcess에서 자식 프로세스와의 통신에 성공하는 것을 보여주었고, 여기서 10개나 되는 프로세스를 동시에 실행시키는 것 까지 보여주었습니다. 그런데 이것만으로는 되지 않고, 얼마나 정확하게 정보를 전달하는지 부터 해야 할일이 상당히 많이 남아 있습니다. 먼저 해야 할일은 위 스크린샷에서 볼 수 있는 것처럼 일단 전달할 데이터를 단순하게 그냥 만드는 것이 아니라 아예 작정하고 정보들로 채워 넣는 작업이라고 할 수 있습니다. 일단 보기는 상당히 힘들지만, 자식 프로세스에 정보가 전달은 된 것 같기는 같아 보입니다. 다만, 이래저서는 제대로 알기 어렵다는 단점이 있습니다. 그래서 QtDesigner를 열어서 이번에는 TextEdit을 한번 작성해 주도록.. 2020. 2. 27.
멀티 프로세스를 이용한 병렬처리에 들어가 보기 -4- 안녕하세요? 또 다시 이렇게 작업을 했는 결과를 올리는 시간이 찾아왔습니다. 일단 이번 포스팅에서는 지난번에 언급한 대로 PyQt5를 이용한 GUI를 사용했다면, QProcess를 사용해야 하는데, 이걸 지난번에는 적용하려다가 통신을 연결하는데 실패했는 경험이 있었습니다. 그래서 이번에는 제대로 될지 잘은 모르겠습니다. 먼저 위 스크린샷에서 볼 수 있는 것처럼 일단 코드를 2개 추가해 주도록 합니다. 이 코드들은 원랜느 QProcess를 작동시키고, 여기서 나오는 결과를 읽어서 TheMarker에 주어야 하는데 그게 안되어서 끝내 주석처리를 하였습니다. 그리고 나서 다음으로 해야 할 것은 어떻게 자동으로 제가 파이썬 환경을 찾을 수 없어서 하는 수 없이 그대로 가지고 오도록 해야만 했습니다. 그래서 이 .. 2020. 2. 27.
GUI 프리징(freezing)의 해결 안녕하세요? 정말로 오랜 시간이 걸리기는 걸렸습니다. 아무튼 간에 이번 포스팅에서야 말로 간단하고 정말 어이없이 간단한 이 해결책을 찾아내지 못해서 한참이나 헤메이게 되었는데, 그 내용의 종지부를 찍고자 합니다. 일단 여기까지가 2월 첫번째 일요일에 있었던 작업의 내용을 올리느라 밀리고 밀렸는 포스팅의 내용이었습니다. 먼저 인터넷을 뒤지다가 위 스크린샷처럼 QApplication.processEvent()라는 명령어를 for루프-문이나 이런 반복문에 넣어줘야 반응을 기다리는 상태가 된다고 합니다. 그래서 먼저 이를 위해서 __init__()에 먼저 QApplication.processEvents()를 방금전까지 QThread를 연습했던 구문에 넣어 주도록 합니다. 그리고 나서 먼저 for 문 안에다가 위.. 2020. 2. 7.
초기 테스터(initial tester)의 제작-33- 안녕하세요? 지난번 포스팅에서 어떻게 일일히 타이핑을 하지 않고서 폴더 경로를 지정하는 작업을 할 것인지에 대해서 한번 이야기를 하면서 GUI작업을 하고나서 포스팅을 중간에 끊었는데, 아무튼 이 내용을 이어서 계속해서 나아가 보도록 하겠습니다. 비록 지루한 면이 있기는 있겠지만, 제 시행착오 끝에 프로그램이 하나하나 완성이 되는 것을 봐 주시기 바랍니다. 먼저 해야 할일은 폴더를 선택하기 위한 메서드를 작성해야 할 필요성이 있는데, 일단 위 스크린샷에서 볼 수 있는 것처럼 우선, QFileDialog에서 getExistingDirectory()라는 메서드를 사용하면 간단하게 처리가 가능합니다. 그리고 나서 기존에는 작업에 바로 들어가기 위한 버튼을 활성화 시킨 코드를 이번에는 결과를 저장할 폴더를 저장하.. 2020. 1. 28.