[問題] PyQT GUI的問題

看板Python作者 (先認真的就輸了。)時間5年前 (2020/01/23 00:13), 5年前編輯推噓3(301)
留言4則, 1人參與, 5年前最新討論串1/1
PyQT5 基本功能大致上會用,但目前有一個不解的地方,想請問大家。 程式的流程如下: 1.在GUI 輸出"Running" 字樣 2.call sub functon. 這個會花三到五分鐘的時間。 3.在GUI 輸出"finish" 字樣 但很奇怪的是,1就不會輸出,只會看到3的結果。 code 節錄如下: def pushbutton(self): self.textBrowser.setText("running") #1 subfunction() #2 self.textBrowser.setText("finish") #3 我那邊理解有錯嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.160.117.94 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1579709612.A.077.html

01/23 00:55, 5年前 , 1F
main thread 被 subfunction 帶走 沒來得及更新畫面 然後結束
01/23 00:55, 1F

01/23 00:56, 5年前 , 2F
你不能在 event loop 裡面進行計算 這會 block event loop
01/23 00:56, 2F
大概懂你的意思。 但我想要執行subfuncation的時候,秀running.有建議的做法嗎? 感謝您的回應。 ※ 編輯: a9202507 (118.160.117.94 臺灣), 01/23/2020 11:56:09

01/23 13:18, 5年前 , 3F
另外發起一個 Thread 然後利用 Qt Signal/Slot 機制觸發
01/23 13:18, 3F

01/23 13:42, 5年前 , 4F
01/23 13:42, 4F
感謝。昨天用thread功能後,問題解了。 ※ 編輯: a9202507 (180.217.149.176 臺灣), 01/24/2020 11:02:30
文章代碼(AID): #1UA7Ii1t (Python)
文章代碼(AID): #1UA7Ii1t (Python)