场景:
我有一个在Qt 5.9.4商业版上运行的Qt 应用程序。它是一个基于iOS和Android的应用程序。QtQuick
QML
我QML
在 UI 上有一个项目,如下所示:
SomeItem {
text: qsTr("Some Item")
objectName: "someitem"
visible: false
onClicked: {
console.log("Some item was clicked")
}
}
我有一个 C++ 函数,可以轻松控制SomeItem
.
void MyCppClass::Func() {
QQuickItem *someItem = qml_engine->rootObjects()[0]->findChild<QQuickItem*>("someitem");
someItem->setVisible(true); // this works
// How to listen to someItem's onClick event here
}
问题:
我想someItem
在 C++ 方法或 lambda 中监听 onClick 事件,而不更改 QML 中的任何内容。基本上连接到someItem
来自 C++ 端本身的 onClick 信号信号。我该怎么做?