In Qt Anwendungscode Class A
hat eine Mitgliedsmethode wie method1()
. Ich möchte diese Methode in einer anderen Elementfunktion method2()
aufrufen und mehtod1()
in einem anderen Thread ausführen. Aber was ich in der QT-Dokumentation gefunden habe, folgt.Ausführen einer Funktion in einem anderen Thread in QT
- Inherit ein neues
class MyThread
(annehmen) vonQThread
. - Überschreiben Sie die Funktionsmethode
run()
mit Ihrem erforderlichen Code. - Erstellen Sie ein Objekt
MyThread
inClass A
und rufen Sie dann die run-Funktion, wo immer Sie möchten.
Aber das oben genannte scheint etwas komplex. Gibt es einen Mechanismus in Qt, so dass ich eine neue QThread
(ohne erben) sofort in meinem method1()
erstellen und die method2()
mit diesem Thread ausführen und dann nach Beendigung der Ausführung zu method1()
zurückkehren kann?
Bitte lassen Sie mich wissen, wenn ich in meiner Frage nicht klar bin.
so warten, Im Grunde sagt mir der Autor in dem ersten Link, den ich zur Verfügung gestellt habe, NICHT, von QThread abzuleiten, und im zweiten Link erklärt mir ein anderer Autor, wie einfach Qt-Threads sind, wenn ich QThread unterlasse. Ich bin jetzt ein wenig verwirrt, aber danke für die Links trotzdem;) +1 – Hafnernuss
Nicht genau. Der erste Artikel erklärt, warum QThread in diesem Fall nicht vererbt werden sollte und der zweite erklärt, wie man die QThread-Klasse benutzt, ohne sie zu unterklassifizieren. –
Entschuldigung, das ist mir aufgefallen. denke, es war zu früh für mich. Danke für die Klärung;) – Hafnernuss