이 페이지에서

QtTaskTree::QTaskInterface Class

class QtTaskTree::QTaskInterface

QTaskInterface는 사용자 정의 태스크의 인터페이스를 적용할 때 사용되는 헬퍼 클래스입니다. 더 보기...

헤더: #include <qtasktree.h>
CMake: find_package(Qt6 REQUIRED COMPONENTS TaskTree)
target_link_libraries(mytarget PRIVATE Qt6::TaskTree)
qmake: QT += tasktree
다음 버전부터: Qt 6.11
상속: QObject
상태: 기술 미리보기

이 클래스는 기술 미리보기 단계에 있으며 변경될 수 있습니다.

참고: 이 클래스의 모든 함수는 재진입 가능합니다.

공개 함수

void reportDone(QtTaskTree::DoneResult result)

신호

void done(QtTaskTree::DoneResult result)

재구현된 보호 함수

virtual bool event(QEvent *event) override

상세 설명

QCustomTask<Task, Adapter, Deleter> 템플릿의 사용자 정의 ` Adapter ` 유형은 Worker 태스크를 적용할 때 다음과 같은 형식을 가져야 합니다.

class WorkerTaskAdapter
{
public:
    void operator()(Worker *task, QTaskInterface *iface) { ... }
};

using WorkerTask = QCustomTask<Worker, WorkerTaskAdapter>;

멤버 함수 문서

[private signal] void QTaskInterface::done(QtTaskTree::DoneResult result)

이 신호는 reportDone()이 호출될 때, 작업 실행의 result 를 전달하여 발생합니다.

참고: 이 신호는 비공개 신호입니다. 신호 연결에서 사용할 수는 있지만, 사용자가 직접 발생시킬 수는 없습니다.

reportDone()도 참조하십시오 .

[override virtual protected] bool QTaskInterface::event(QEvent *event)

QObject::event(QEvent *e)를 재구현합니다.

void QTaskInterface::reportDone(QtTaskTree::DoneResult result)

이 메서드는 사용자 정의 어댑터를 통해 변환된 작업이 완료되었을 때, 작업 실행의 ` result `를 매개변수로 전달하여 호출되어야 합니다.

Worker가 finished(bool) 시그널을 발신한다고 가정할 때, 어댑터는 다음과 같이 구현될 수 있습니다:

class WorkerTaskAdapter
{
public:
    void operator()(Worker *task, QTaskInterface *iface) {
        connect(task, &Worker::finished, iface, [iface](bool success) {
            iface->reportDone(toDoneResult(success));
        });
        task->execute();
    }
};

using WorkerTask = QCustomTask<Worker, WorkerTaskAdapter>;

QCustomTask도 참조하십시오 .

© 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.