我有一個Python控制檯程序,我想轉移到GUI。 我想過使用PyQt 5,但我願意選擇。如何翻譯Python控制檯程序(包括while循環)到PyQt?
簡化控制檯代碼如下所示:
while True:
data = obtain_data_from_device(source)
print(datatotext(data))
現在從我個人理解,GUI代碼的工作不同。 但是,如何使用可能需要0.5到30秒的任何時間的obtain_data_from_device函數來持續更新PyQt中的文本框?
While循環無法完成它,因爲它擰緊了GUI,定時器不起作用,因爲持續時間是可變的。
我會很感激任何提示。
你可以把這個循環變成一臺發電機和'yield'(而不是'打印')的結果?然後你可以通過'for'循環調用生成器,使用yield'ed值來更新GUI。 – cdarke