0
所以我試圖運行一個PyQT GUI,而另一個功能是在後臺收集信息。如果找到信息,GUI應該自行更新。在GUI旁執行一項任務PyQT4
我是線程新手,所以我GOOGLE了很多,發現了一些很好的HowTo,雖然它不工作,因爲它應該。
當我運行程序它只是在3秒後自行結束。
也許你看到一些重大錯誤,我做了。
下面是基本的代碼我試圖去運行
class scan_Thread(QThread):
def __init__(self, samp_rate, band, speed, ppm, gain, args, prn):
QThread.__init__(self)
self.samp_rate=samp_rate
self.band=band
self.speed=speed
self.ppm=ppm
self.gain=gain
self.args=args
self.prn=prn
def __del__(self):
self.wait()
def run(self):
do_scan(self.samp_rate, self.band, self.speed,
self.ppm, self.gain, self.args, self.prn)
def start_gui():
app = QtGui.QApplication(sys.argv)
window = Window()
window.show()
sys.exit(app.exec_())
#app.exec_()
#sys.exit()
def main(options = None):
def printfunc(found_list):
for info in sorted(found_list):
print info
get_thread = scan_Thread(options.samp_rate, options.band, options.speed,
options.ppm, options.gain, options.args, printfunc)
get_thread.start()
start_gui()
謝謝!
請不要忘記,以紀念我的答案是正確的。 – eyllanesc
嘿,那工作。非常感謝!我現在面臨的另一個問題是,當scan_Thread發現一些附加信息時,我想重新啓動GUI,但GUI在app.exec()中搜索並且我無法從scan_Thread訪問它。有任何想法嗎? – Crubuntu
重新啓動GUI或更新GUI的視圖?,它們中的任何一個都不應該從輔助線程完成,在輔助線程中創建一個信號並將其連接到GUI中的一個插槽,並且必須完成必要的任務更新gui。 – eyllanesc