ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • QML <-> CPP 함수 호출
    Qt 2022. 8. 10. 10:38

    signal slot

    CPP -> QML

    CPP <- QML

     

    QML에서 cpp 함수 호출 or cpp에서 QML함수 호출

    invokeMethod

     

    CPP-> QML

    invokeMethod

     

    QML -> CPP

    함수선언에 Q_INVOKEABLE 붙임 ??

    호출시 goekd

     

     

     

     

     

     

     

     

     

     

     

    C++ 클래스(Test)생성

     

    헤더파일에 signal 함수 선언

    signal:

    void testSignal(bool status);

     

    qmlReterType으로 해당 C++ 클래스를 QML import 리스트에 등록

    qmlRegisterType<Test>("TestHeader", 1, 0, "TestClass");

     

    QML파일에서 해당 클래스를 import하여 등록

    import TestHeader 1.0

     

    QML파일에 해당 클래스 생성

    TestClass{

     

    }

    QML 파일의 해당 클래스에 slot 함수 생성(이름은 CPP파일의 slot함수명에 on과 대문자를 붙임)

    TestClass{

        onTestSlot: abcd = status

    }

     

    CPP에서 시그널 함수를 실행시킨다

    emit testSignal(true);

     

    실행과정

    CPP 코드의 signal 함수 실행 -> QML의 slot 함수 실행

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    'Qt' 카테고리의 다른 글

    The Qt Resource System  (0) 2023.08.25

    댓글

Designed by Tistory.