ich habe ein Problem bei dem handling von QThread. und zwar stürzt mir manchmal die Gui einfach ab und bekomme den Fehler:
QObject::connect: Cannot queue arguments of type 'QTextCursor'
(Make sure 'QTextCursor' is registered using qRegisterMetaType().)
Hintergrund:
ich starte eine oberfläche und in der soll mit einem Thread etwas geschrieben werden.
Hier der Code:
Code: Alles auswählen
class MyGuiThread(QtCore.QThread):
    def __init__(self, dieGui,  derWorker):
        QtCore.QThread.__init__(self)
        self.darfLaufen=False
        self.dieGui= dieGui
        self.derWorker= derWorker
        
    def startStop(self):
        if self.darfLaufen:
            self.darfLaufen = False
            print "Ich halte MyGuiThread an"
            print "Ich halte MyWorkerThread an"
            #self.derWorker.killAll()
        else:
            self.darfLaufen=True
            print "Ich starte MyGuiThread"
            print "Ich starte MyWorkerThread"
            self.start()
            
    def run(self):
        n = 0
        step = 1
        while self.darfLaufen:
            n += step
            print n, "oder beliebige GUI Akionen, zb knopf aendern"
            # dazu muesste das Threadf Object das GUI Object erhalten
            # hier dann die aenderung an der gui, zb die werte gelesen und anzeigen o.ae.
            #self.derWorker.doChange()
            
            self.dieGui.area1.appendPlainText(str(n) +"\n")
            self.dieGui.area3.appendPlainText(str(n)+'\n')
            self.dieGui.area2.appendPlainText(str(n)+'\n')
            time.sleep(1)
Code: Alles auswählen
self.connect(self.uiRef.set, QtCore.SIGNAL("clicked()"), self.guithread.startStop)

