いくつかの対策を開始した後、QLCDNumbers を更新するにはどうすればよいでしょうか。次のように信号を QLCDNumbers に接続するための GUI スレッドを作成しました。
class BtDialog(QtGui.QDialog, Dlg):
def __init__(self):
QtGui.QDialog.__init__(self)
self.setupUi(self)
self.thread = WorkerThread()
#Configure slots
self.connect(self.startButton, QtCore.SIGNAL("clicked()"), self.onStart)
self.connect(self.stopButton, QtCore.SIGNAL("clicked()"), self.onStop)
#QLCDNumber Slot
self.connect(self.thread, self.thread.voltage, self.lcdVoltage.display)
def onStart(self):
self.thread.start()
def onStop(self):
self.emit(self.thread.voltage, 0) #Trying to refresh
abort()
ここでは、ワーカー スレッドを開始するボタンとプロセスを停止するボタンの 2 つのボタンを接続します。プロセスを停止するときに、「0」を表示して QLCDNumber を更新したいのですが、うまくいきません。ワーカー スレッドでは、次のようにシグナルを初期化します。
def __init__(self, parent = None):
QtCore.QThread.__init__(self, parent)
self.voltage = QtCore.SIGNAL("voltage")
そして、プロセスが実行されると、私はシグナルを発します
self.emit(self.voltage, volt_act)
測定後。それはこれまでのところうまくいきます。しかし、ワーカープロセスを再度開始したいときに停止した後、シグナルは QLCDNumber に再度送信されません。そのためには、GUI を再起動する必要があります。QLCDNumber をリフレッシュしたいという私の 2 つの問題を修正するにはどうすればよいですか?