QDialog schließen nachdem Thread fertig ist.
Verfasst: Samstag 2. Juli 2011, 11:55
Ich möcht einfach gesagt einen QDialog haben der bestimmte Vorgänge ausführt und den Fortschritt in einer QProgressBar visualisiert.
Damit der Dialog aber weiter ánsprechbar bleibt(z.B. über 'Abbrechen') kommen die Berechnungen in einen eigenen Thread. Das ganze sieht dann ungefähr so aus:
Der Dialog schließt sich auch bei Erfolg, allerdings mit einer Fehlermeldung:
Damit der Dialog aber weiter ánsprechbar bleibt(z.B. über 'Abbrechen') kommen die Berechnungen in einen eigenen Thread. Das ganze sieht dann ungefähr so aus:
Code: Alles auswählen
import _thread
import time
from PyQt4 import uic
from PyQt4.QtCore import *
from PyQt4.QtGui import *
(Ui_TestExec, QDialog) = uic.loadUiType('testexec.ui')
class TestExec(QDialog):
def __init__ (self, parent):
QDialog.__init__(self, parent)
self.ui = Ui_TestExec()
self.ui.setupUi(self)
def exec(self):
QDialog.open(self)
_thread.start_new_thread(self.copy, (None,))
def copy(self, args):
for v in range(0, 101):
time.sleep(0.01)
self.ui.bar.setValue(v)
self.close()
Wie realisiere ich das am besten richtig?QObject::killTimer: timers cannot be stopped from another thread