QtTaskTree::QSyncTask Class
class QtTaskTree::QSyncTaskFührt einen benutzerdefinierten Handler synchron zwischen anderen Aufgaben aus. Mehr...
| Kopfzeile: | #include <qtasktree.h> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS TaskTree) target_link_libraries(mytarget PRIVATE Qt6::TaskTree) |
| qmake: | QT += tasktree |
| Seit: | Qt 6.11 |
| Erbt von: | QtTaskTree::ExecutableItem |
| Status: | Technologievorschau |
Diese Klasse befindet sich in der Technologievorschau und kann sich noch ändern.
Hinweis: Alle Funktionen dieser Klasse sind reentrant.
Öffentliche Funktionen
| QSyncTask(Handler &&handler) |
Ausführliche Beschreibung
QSyncTask ist nützlich, wenn Sie einen zusätzlichen Handler zwischen anderen Aufgaben ausführen möchten. QSyncTask wird von seiner übergeordneten „ Group “ wie jede andere Aufgabe behandelt. Vermeiden Sie eine lang andauernde Ausführung des Handler-Körpers von QSyncTask, da dieser synchron vom aufrufenden Thread ausgeführt wird. Sollte dies unvermeidbar sein, sollten Sie stattdessen die Verwendung von „ QThreadFunctionTask “ in Betracht ziehen.
Dokumentation der Mitgliedsfunktionen
[explicit] template <typename Handler, std::enable_if_t<!std::is_same_v<q20::remove_cvref_t<Handler>, QSyncTask>, bool> = true> QSyncTask::QSyncTask(Handler &&handler)
Erstellt ein Element, das eine übergebene ` handler ` synchron ausführt. Die ` Handler ` ist vom Typ ` std::function<DoneResult()> `. Der Wert ` DoneResult `, der von der Funktion ` handler` zurückgegeben wird, wird bei der Auflösung von ` workflow policy ` der übergeordneten Gruppe berücksichtigt. Optional wird auch die verkürzte Form ` std::function<void()> ` akzeptiert. In diesem Fall wird davon ausgegangen, dass der Rückgabewert ` DoneResult::Success` ist.
Der übergebene ` handler ` wird synchron vom aufrufenden Thread ausgeführt; vermeiden Sie daher eine lang andauernde Ausführung des Handler-Körpers. Andernfalls sollten Sie die Verwendung von ` QThreadFunctionTask` in Betracht ziehen.
Hinweis: Das QSyncTask-Element wird bei der Meldung des Fortschritts des Aufgabenbaums nicht als Aufgabe gezählt und ist nicht in QTaskTree::taskCount() oder QTaskTree::progressMaximum() enthalten.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.