感覺就像我應該能夠建立一個事件監聽器來運行AJAX調用來更新qlabel,但這似乎與QT無限複雜。如何更新while循環中的QLabel
基本上我試圖做的是更新QLabel中的文本。這發生在單擊按鈕時出現的無限循環(類似於包含標誌的插槽)。原因是我本質上是在用戶更新的文本文件中讀取。當用戶保存文本文件時,內容會在QLabel上更新。當用戶對文本感到滿意時,他們點擊「發送」。然後殺死聽衆和電子郵件將文本內容轉換爲預定義的電子郵件地址。這是與工作相關的,所以用戶故事已經發生了很大的變化,但總體概念正是我所要做的。
我試圖做類似設置一個標誌,該監聽通過執行以下操作:
while not self.flag_set:
self.my_text = text_read_module.get_text(self)
self.label_60.setText(self.my_text)
QCoreApplication.processEvents()
sleep(2)
我也試圖推動這一到它自己的程序和終止時,含有終止信號的按鈕被稱爲
他們都沒有在屏幕上顯示任何內容,但我可以告訴他們正在運行,感謝一些方便的打印語句
PS這是在Python中完成的,但希望很容易爲C++用戶做好準備
任何想法如何得到這個工作?謝謝!
在主事件循環中調用'processEvents'的用例很少,並且從主線程調用'sleep'通常是一個壞主意。不要一直檢查需要設置的文本,而要使用信號/插槽組合。 –
我通常不是睡眠的支持者,我只是將它用作停止間隙,所以它不會每秒運行100次以上。我肯定喜歡使用信號/插槽組合,我該怎麼做這個用戶故事? –
你沒有'text_read_module'發出信號嗎?它是否是非Qt庫的一部分? –