Делая обновление QProgressDialog, также значение не меняется - PullRequest
0 голосов
/ 13 июля 2010

У меня есть прогресс, который я "mintor" с QProgessDialog в PyQt4.По сути, у меня есть такой цикл:

while progressThread.isRunning():
    self.progressDialog.setRange(0, self.progressTotal_)
    self.progressDialog.setValue(self.progress_)
del self.progressDialog

ProgressThread изменяет переменные self.progessTotal_ и self.progress_

Это работает очень хорошо, когда значение progress_ постоянно меняется.Но для некоторых задач это не так (потому что отчет о проделанной работе не настолько подробен).

В результате, progressDialog показывает серое окно, пока что-то не изменится.Могу ли я вставить что-то в цикл while, что заставляет progressDialog обновляться, и ничего не меняется?

Спасибо!Nathan

1 Ответ

0 голосов
/ 13 июля 2010

Вы должны подключить сигнал обновления из вашей ветки к диалогу прогресса.Вы блокируете поток пользовательского интерфейса с помощью вашего цикла.Вы можете добавить вызов QApplication :: processEvents в цикл, но просто не блокируйте поток пользовательского интерфейса, и все будет в порядке.

...