Bezüglich des Problems, dass QThread ein fertiges Signal aussendet

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Bezüglich des Problems, dass QThread ein fertiges Signal aussendet

by Guest » 03 Jan 2025, 10:44

Code: Select all

#define DEBUG qDebug()thread->quit();
d->thread->wait();
delete d->thread;
delete d;
}
Warum nur „Thread beendet“ ausgeben, wenn ich Qt::DirectConnection spezifiziere, wenn ich Mainwindow schließe? Aber wenn es Qt::QueuedConnection ist, wird es nicht.
Für Qt::DirectConnection kann ich das verstehen, wenn der d->Thread das Finish ausgibt Signal wird der Druck sofort im untergeordneten Thread ausgeführt. Bei Qt::QueuedConnection hingegen wird dieses Objekt, das MainWindow ist, im Hauptthread gedruckt. Das Signal wird am Ende der Ereigniswarteschlange platziert und nur verarbeitet, wenn die Ereignisschleife es verarbeitet.
C++17, Qt 5.15.2, Windows 11, CPU I7 13700, RAM 16G

Top