QtTaskTree::ExecutableItem Class
class QtTaskTree::ExecutableItem실행 가능한 작업 항목의 기본 클래스입니다. 더 보기...
| 헤더: | #include <qtasktree.h> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS TaskTree) target_link_libraries(mytarget PRIVATE Qt6::TaskTree) |
| qmake: | QT += tasktree |
| 다음 버전부터: | Qt 6.11 |
| 상속: | QtTaskTree::GroupItem |
| 상속 대상: | QtTaskTree::Forever, QtTaskTree::Group, QtTaskTree::QCustomTask 및 QtTaskTree::QSyncTask |
| 상태: | 기술 미리 보기 |
이 클래스는 기술 미리보기 단계에 있으며 변경될 수 있습니다.
참고: 이 클래스의 모든 함수는 재진입 가능합니다.
공개 함수
| QtTaskTree::Group | withAccept(ObjectSignalGetter &&getter) const |
| QtTaskTree::Group | withCancel(ObjectSignalGetter &&getter, std::initializer_list<QtTaskTree::GroupItem> postCancelRecipe = {}) const |
| QtTaskTree::Group | withLog(const QString &logName) const |
| QtTaskTree::Group | withTimeout(std::chrono::milliseconds timeout, const std::function<void ()> &handler = {}) const |
관련 비멤버
| QtTaskTree::Group | operator!(const QtTaskTree::ExecutableItem &item) |
| QtTaskTree::Group | operator&&(const QtTaskTree::ExecutableItem &first, const QtTaskTree::ExecutableItem &second) |
| QtTaskTree::Group | operator&&(const QtTaskTree::ExecutableItem &item, QtTaskTree::DoneResult result) |
| QtTaskTree::Group | operator||(const QtTaskTree::ExecutableItem &first, const QtTaskTree::ExecutableItem &second) |
| QtTaskTree::Group | operator||(const QtTaskTree::ExecutableItem &item, QtTaskTree::DoneResult result) |
자세한 설명
ExecutableItem은 실행 가능한 작업이 포함된 항목에 대한 추가 인터페이스를 제공합니다. withTimeout()를 사용하여 작업에 타임아웃을 설정합니다. withLog()를 사용하여 작업 시작 및 실행 결과에 대한 디버깅 정보를 포함합니다.
멤버 함수 설명
template <typename ObjectSignalGetter> QtTaskTree::Group ExecutableItem::withAccept(ObjectSignalGetter &&getter) const
this ExecutableItem 의 복사본을 신호 대기자(signal awaiter)와 결합하여 반환합니다. 전달된 getter 는 이미터와 이를 대기 중인 신호를 설명하는 ObjectSignal 를 반환하는 함수입니다. getter 내에서 makeObjectSignal()를 사용하여 ObjectSignal 객체를 생성하십시오.
this ExecutableItem 가 오류로 종료되면, 반환된 Group 는 어웨이터의 신호를 기다리지 않고 즉시 오류로 종료됩니다.
this ( ExecutableItem )가 오류로 종료되면, 반환된 Group 는 즉시 오류로 종료되며, 어웨이터의 신호를 기다리지 않습니다. ( )가 성공적으로 종료되면, 반환된 는 즉시 종료되지 않고 대기 중인 신호가 전송될 때까지 기다립니다. 대기 중인 신호가 전송된 후, 반환된 Group 는 성공적으로 종료됩니다. this ( ExecutableItem )가 종료되기 전에 대기 중인 신호가 전송되면, 대기 단계는 건너뛰어지고 반환된 Group 는 동기식으로 종료됩니다.
대기 신호와의 연결은 this ExecutableItem 이 시작되기 직전에 설정됩니다. 대기 신호가 이전에 트리거된 경우, this ExecutableItem 이 시작된 후에는 이를 감지하지 못합니다.
template <typename ObjectSignalGetter> QtTaskTree::Group ExecutableItem::withCancel(ObjectSignalGetter &&getter, std::initializer_list<QtTaskTree::GroupItem> postCancelRecipe = {}) const
this ExecutableItem 의 복사본을 취소 가능하게 만듭니다. 전달된 getter 는 에미터와 그 취소 신호를 설명하는 ObjectSignal 를 반환하는 함수입니다. getter 내에서 makeObjectSignal()를 사용하여 ObjectSignal 객체를 생성합니다. 취소 신호가 방출되면 this ExecutableItem 가 취소되고, 선택적으로 제공된 postCancelRecipe 가 실행되며, 반환된 Group은 오류와 함께 종료됩니다.
this ExecutableItem 가 취소 신호가 발산되기 전에 완료되면, 반환된 Group은 this ExecutableItem 가 완료된 것과 동일한 결과로 즉시 종료됩니다. 이 경우 선택적으로 제공된 postCancelRecipe 는 건너뜁니다.
취소 신호와의 연결은 this ExecutableItem 이 시작되기 직전에 설정됩니다. 취소 신호가 이전에 트리거된 경우, this ExecutableItem 이 시작된 후에는 이를 감지할 수 없습니다.
QtTaskTree::Group ExecutableItem::withLog(const QString &logName) const
this ExecutableItem 의 복사본에 사용자 정의 디버그 출력 내용을 첨부하며, 이는 작업 시작 시와 작업 완료 후에 출력되며, 결합된 항목을 반환합니다.
디버그 출력물에는 이벤트(시작 또는 완료)의 타임스탬프와 디버그 로그에서 특정 태스크를 식별할 수 있는 ` logName `가 포함됩니다.
완료 출력 결과에는 실행이 동기식인지 비동기식인지에 대한 추가 정보, 결과( DoneWith 열거형으로 설명되는 값) 및 총 실행 시간(밀리초 단위)이 포함됩니다.
QtTaskTree::Group ExecutableItem::withTimeout(std::chrono::milliseconds timeout, const std::function<void ()> &handler = {}) const
QTimeoutTask 를 this ExecutableItem 의 복사본에 결합하며, timeout 이후 밀리초 단위로 경과 시간을 설정하고, 선택적으로 지정된 타임아웃 handler 을 적용한 후, 결합된 항목을 반환합니다.
ExecutableItem 가 timeout 가 지나기 전에 완료되면, 반환된 항목은 작업의 결과와 함께 즉시 완료됩니다. 그렇지 않은 경우, handler 가 호출되고(지정된 경우), 작업이 취소되며, 반환된 항목은 오류와 함께 완료됩니다.
관련 비회원
QtTaskTree::Group operator!(const QtTaskTree::ExecutableItem &item)
item 의 DoneResult 값을 반전시킨 Group을 반환합니다.
item 가 DoneResult::Success 를 보고하는 경우, 반환된 항목은 DoneResult::Error 를 보고합니다. item 가 DoneResult::Error 를 보고하는 경우, 반환된 항목은 DoneResult::Success 를 보고합니다.
반환된 항목은 다음과 동일합니다:
Group {
item,
onGroupDone([](DoneWith doneWith) { return toDoneResult(doneWith == DoneWith::Error); })
}operator&&() 및 operator||()도 참조하십시오 .
QtTaskTree::Group operator&&(const QtTaskTree::ExecutableItem &first, const QtTaskTree::ExecutableItem &second)
first 및 second 태스크를 결합 연산자로 병합한 그룹을 반환합니다.
first 및 second 태스크는 모두 순차적으로 실행됩니다. 두 태스크 모두 DoneResult::Success 를 보고하면, 반환된 항목은 DoneResult::Success 를 보고합니다. 그렇지 않은 경우, 반환된 항목은 DoneResult::Error 를 보고합니다.
반환된 항목은 단락 평가(short-circuiting)를 수행합니다. 즉, first 작업이 DoneResult::Error 를 반환하면, second 작업은 건너뛰어지고 반환된 항목은 즉시 DoneResult::Error 를 반환합니다.
반환된 항목은 다음과 동일합니다:
Group { stopOnError, first, second }참고: 단락 평가 방식으로 결합 연산을병렬로 실행하려면 다음 코드를 사용할 수 있습니다: ` Group { parallel, stopOnError, first, second }`. 이 경우, 첫 번째로 완료된 태스크가 ` DoneResult::Error`를 보고하면 다른 태스크는 취소되고, 그룹은 즉시 ` DoneResult::Error `를 보고합니다.
operator||() 및 operator!()도 참조하십시오 .
QtTaskTree::Group operator&&(const QtTaskTree::ExecutableItem &item, QtTaskTree::DoneResult result)
result 가 DoneResult::Success 인 경우 item 태스크를 반환하고, 그렇지 않은 경우 done 결과를 DoneResult::Error 로 수정된 item 태스크를 반환합니다.
task && DoneResult::Error 는 태스크의 done 결과를 무조건 DoneResult::Error 로 조정하는 것과 동일합니다.
이 함수는 ExecutableItem::operator&&()을 오버로드합니다.
QtTaskTree::Group operator||(const QtTaskTree::ExecutableItem &first, const QtTaskTree::ExecutableItem &second)
first 와 second 태스크를 이산합으로 병합한 그룹을 반환합니다.
first 및 second 작업은 모두 순차적으로 실행됩니다. 두 작업 모두 DoneResult::Error 를 보고하는 경우, 반환된 항목은 DoneResult::Error 를 보고합니다. 그렇지 않은 경우, 반환된 항목은 DoneResult::Success 를 보고합니다.
반환된 항목은 단락 평가(short-circuiting)를 수행합니다. 즉, first 작업이 DoneResult::Success 를 반환하면, second 작업은 건너뛰어지고 반환된 항목은 즉시 DoneResult::Success 를 반환합니다.
반환된 항목은 다음과 동일합니다:
Group { stopOnSuccess, first, second }참고: 단락 평가 방식의 논리적 합(disjunction)병렬 실행은 다음 코드를 사용하여 구현할 수 있습니다: Group { parallel, stopOnSuccess, first, second }. 이 경우, 가장 먼저 완료된 태스크가 DoneResult::Success 을 반환하면 다른 태스크는 취소되고, 그룹은 즉시 DoneResult::Success 을 반환합니다.
operator&&() 및 operator!()도 참조하십시오 .
QtTaskTree::Group operator||(const QtTaskTree::ExecutableItem &item, QtTaskTree::DoneResult result)
result 가 DoneResult::Error 인 경우 item 태스크를 반환하고, 그렇지 않은 경우 done 결과를 DoneResult::Success 로 조정한 item 태스크를 반환합니다.
task || DoneResult::Success 는 태스크의 done 결과를 무조건 DoneResult::Success 로 조정하는 것과 동일합니다.
이 함수는 ExecutableItem::operator||()를 오버로드합니다.
© 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.