我在 QML 中收到了一个信号,我想连接到 C++ 中定义的插槽。但是我的代码失败了,我收到了错误:
QObject::connect: ../qt_cpp/mainwindow.cpp:66 中没有这样的信号 QDeclarativeContext::sent()
这是一个 C++ 代码片段:
message_reading test;
QDeclarativeView tempview;
tempview.setSource(QUrl("qrc:/qml/media_screen.qml"));
QObject *item = tempview.rootContext();
QObject::connect(item, SIGNAL(sent()),
&test, SLOT(readMediaJSONDatabase(QString&)));
这是一个 QML 代码片段:
Image {
id: bluetooth
source: "images_mediahub/footer_icons/bluetooth_normal.png"
signal sent(string msg)
MouseArea {
anchors.fill: parent
onClicked: {
bluetooth.sent(Test.medialibrarydb.toString())
info_load.source="./bluetooth.qml"
}
}
}