У меня есть следующая проблема:PyQt GUI порядок операций
при нажатии кнопки в PyQt из GUI я должен сделать два действия:
- Немедленно обновить 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)
Я попробовал все в одном методе со щелчком, я попытался с и без сигнала для непосредственно излучающих UpdateProgress. Всегда, GUI обновляется только после периода ожидания.
Тем не менее, я столкнулся с этой проблемой раньше, я думаю, что не понимаю, как это работает с графическим интерфейсом. В общем, как получить требуемое поведение: графический интерфейс обновляется при выполнении строки кода?
Спасибо за объяснение. – Stjepan