【发布时间】:2015-07-07 02:58:51
【问题描述】:
我有以下问题:
在 PyQt 中按下按钮后,我必须执行两个操作:
- 立即更新 QTextBrowser
- 运行一个等待一段时间并在之后启用一些按钮的方法。
我得到的是 1 和 2 在等待一段时间后同时完成。
部分代码为:
#in the signals definition...
signalUpdateProgressDialog = QtCore.pyqtSignal(str) # signal definition
#in the connections definition...
self.btnStopOpt.clicked.connect(self.clickStop1)
self.btnStopOpt.clicked.connect(self.clickStop)
def updateProgressDialog(self, dialog):
self.ProgressDialog.setHtml(dialog)
def clickStop1(self):
# notify
self.signalUpdateProgressDialog.emit('Message')
def clickStop(self):
# shut down thread...
print "Thread Stopped"
time.sleep(5)
# enable run button
self.btnRun.setEnabled(True)
我在一个 clickStop 方法中尝试了所有方法,我尝试了发出和不发出 updateProgress 信号。始终,GUI 仅在等待期后刷新。
尽管如此,我之前遇到过这个问题,我想我不明白它是如何与 GUI 一起工作的。一般来说,如何获得所需的行为:执行代码行时更新GUI?
【问题讨论】:
标签: python python-2.7 user-interface pyqt pyqt4