2014-10-15 2 views
0

Редактировать:Как отменить QProcess, нажав кнопку отмены QProgressDialog?

прошу прокрутить вниз для нового вопроса. Вот оригинал:

У меня есть следующий код:

self.progress = QtGui.QProgressDialog("Running", "Cancel", 0, 0) 
self.progress.show() 
command = "./some_script.exe" 
args = [ "some", "args"] 
process = QtCore.QProcess(self) 
process.start(command, args) 
self.progress.close() 

Когда я запускаю его, диалог прогресса закрывающую imediately после запуска QProcess. Как я могу продолжать работать до завершения QProcess?

Спасибо большое

редактировать:

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

QtCore.QObject.connect(self.process,QtCore.SIGNAL("finished(int)"),self.processCompleted) 

И потом:

def processCompleted(self): 
    self.progress.close() 

Мой новый вопрос: как отменить qprocess, нажав кнопку l в диалоговом окне прогресса?

+0

Исправьте свой вопрос, так что один, ясно, сверху-вниз читаемый вопрос. Предпочтительно, с простым примером выполнения, который воспроизводит вашу проблему. Благодарю. – Fenikso

ответ

0

Чтобы остановить процесс, используя кнопки закрытия диалогового окна хода:

self.progress.canceled.connect(self.progress.terminate)