-
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