Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt 如何将QML中声明的信号连接到C++;方法或lambda_Qt_Qml_Signals Slots_Qt5.15 - Fatal编程技术网

Qt 如何将QML中声明的信号连接到C++;方法或lambda

Qt 如何将QML中声明的信号连接到C++;方法或lambda,qt,qml,signals-slots,qt5.15,Qt,Qml,Signals Slots,Qt5.15,我在QML中声明了如下矩形: Rectangle { objectName: "myquickitemobject" signal doSomething MouseArea { anchors.fill: parent onClicked: { doSomething() } } } QQuic

我在QML中声明了如下矩形:

Rectangle {
        objectName: "myquickitemobject"
        signal doSomething
        MouseArea {
            anchors.fill: parent
            onClicked: { 
                doSomething() 
            }
        }
    }
QQuickItem *my_quickitem = m_qml_item_root->findChild<QQuickItem*>("myquickitemobject");
QObject::connect(my_quickitem, SIGNAL(doSomething()), this, SLOT(DoSomething()));

可以将MyQuestItObjult/Cube >类似C++ <

// main.cpp
QQuickItem *my_quickitem = m_qml_item_root->findChild<QQuickItem*>("myquickitemobject");

在类中声明如下所示的插槽:

Q_SLOT void DoSomething() {
    std::cout << "Do something" << std::endl;
}
Q_槽空DoSomething(){
标准::cout
QQuickItem *my_quickitem = m_qml_item_root->findChild<QQuickItem*>("myquickitemobject");
QObject::connect(my_quickitem, SIGNAL(doSomething()), this, SLOT(DoSomething()));