qml에서
qmlRegister에 등록한 cpp객체를 사용합니다.
cpp객체의 함수를 호출하기위해 Q_INVOKABLE 매크로를 사용하는데요..
문제는.. qml에 정의된 js함수(callback)를 넘기고 싶은데.. cpp객체 함수에서.. js함수를 받을때 어떤 타입으로 받아야 하는지를 모르겠네요..
2022.12.07 16:39
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
5 | qtquick.Controls 1.x Label 사용 이유 [1] | 플랑크 | 2021.10.20 | 962 |
4 | Qml 파일 c++ 라이브러리을 헤더파일에 추가 방법 | 플랑크 | 2021.11.01 | 1354 |
3 | GridView 안에 Scrollbar | System | 2022.02.23 | 726 |
2 | 외주할 때 어디서 하세요? | 커피모카 | 2022.06.28 | 569 |
» | qml에서 cpp객체의 함수호출시 js함수를 콜백으로 넘기는 방법 [1] | 데브스카이 | 2022.12.05 | 1843 |
QMetaObject::invokeMethod 를 사용하면 qml의 함수를 호출할 수 있습니다.
<< in QML >>
...
Item {
id: myItem
Component.onCompleted: {
myManager.register(this)
}
function myCallbackFunc(content){
// Do Something
}
}
...
<< in C++ >>
...
void MyManager::register(QObject *obj)
{
if(obj == nullptr))
return;
// Register object.
myQmlObject = obj;
}
...
QMetaObject::invokeMethod(myQmlObject, "myCallbackFunc", Q_ARG(QVariant, "foobar"));