QEventLoopLocker 類

QEventLoopLocker 類提供離開事件循環的手段,當不再需要時。 更多...

頭: #include <QEventLoopLocker>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core

公共函數

QEventLoopLocker ()
QEventLoopLocker (QEventLoop * loop )
QEventLoopLocker (QThread * thread )
(從 6.7 起) QEventLoopLocker (QEventLoopLocker && other )
~QEventLoopLocker ()
(從 6.7 起) void swap (QEventLoopLocker & other )
(從 6.7 起) QEventLoopLocker & operator= (QEventLoopLocker && other )
(從 6.7 起) void swap (QEventLoopLocker & lhs , QEventLoopLocker & rhs )

詳細描述

QEventLoopLocker 操作特定對象,如 QCoreApplication 實例, QEventLoop 實例或 QThread 實例。

例如,這使采用事件循環運行一批作業,並在完成最後作業後退齣相應事件循環成為可能。這的施行是通過保持 QEventLoopLocker 由各作業實例。

變體操作 QCoreApplication 使它在關閉最後 GUI 窗口之後異步完成運行作業成為可能。例如:這對運行把數據上傳到網絡的作業是很有用的。

另請參閱 QEventLoop and QCoreApplication .

成員函數文檔編製

[noexcept] QEventLoopLocker:: QEventLoopLocker ()

創建事件鎖定器操作 QCoreApplication .

The application will attempt to quit when there are no more QEventLoopLockers operating on it, as long as QCoreApplication::isQuitLockEnabled () 是 true .

Note that attempting a quit may not necessarily result in the application quitting, if there for example are open windows, or the QEvent::Quit 事件被忽略。

另請參閱 QCoreApplication::quit () 和 QCoreApplication::isQuitLockEnabled ().

[explicit noexcept] QEventLoopLocker:: QEventLoopLocker ( QEventLoop * loop )

創建事件鎖定器操作 loop .

這尤其 QEventLoop 將離開,當沒有更多 QEventLoopLockers 操作它時。

另請參閱 QEventLoop::quit ().

[explicit noexcept] QEventLoopLocker:: QEventLoopLocker ( QThread * thread )

創建事件鎖定器操作 thread .

這尤其 QThread 將離開,當沒有更多 QEventLoopLockers 操作它時。

另請參閱 QThread::quit ().

[noexcept, since 6.7] QEventLoopLocker:: QEventLoopLocker ( QEventLoopLocker && other )

Move-constructs an event-loop locker from other . other will have a no-op destructor, while responsibility for preventing the QEventLoop / QThread / QCoreApplication from quitting is transferred to the new object.

該函數在 Qt 6.7 引入。

[noexcept] QEventLoopLocker:: ~QEventLoopLocker ()

銷毀此事件循環鎖定器對象

[noexcept, since 6.7] void QEventLoopLocker:: swap ( QEventLoopLocker & other )

Swaps the object and the state of this QEventLoopLocker with other 。此操作很快且從不失敗。

該函數在 Qt 6.7 引入。

[noexcept, since 6.7] QEventLoopLocker &QEventLoopLocker:: operator= ( QEventLoopLocker && other )

Move-assigns this event-loop locker from other . other will have a no-op destructor, while responsibility for preventing the QEventLoop / QThread / QCoreApplication from quitting is transferred to this object.

該函數在 Qt 6.7 引入。

相關非成員

[noexcept, since 6.7] void swap ( QEventLoopLocker & lhs , QEventLoopLocker & rhs )

Swaps the object and the state of lhs with rhs 。此操作很快且從不失敗。

該函數在 Qt 6.7 引入。