-3
我想写在C++和对象的机制,来自qml的信号,我怎么能连接我的main.qml与main.cpp?如何连接qml对象,信号与C++中的机制和插槽?
最好的选择将是(如果可能的话)的声明,添加类似的目录,这使得QML和C++因为没有每次插槽和两个文件
我想写在C++和对象的机制,来自qml的信号,我怎么能连接我的main.qml与main.cpp?如何连接qml对象,信号与C++中的机制和插槽?
最好的选择将是(如果可能的话)的声明,添加类似的目录,这使得QML和C++因为没有每次插槽和两个文件
之间的信号参考从documentation一个数据库,这里有一个方法来QML
对象连接到C++
:
// MyItem.qml
import QtQuick 2.0
Item {
id: item
width: 100; height: 100
signal qmlSignal(string msg)
MouseArea {
anchors.fill: parent
onClicked: item.qmlSignal("Hello from QML")
}
}
class MyClass : public QObject
{
Q_OBJECT
public slots:
void cppSlot(const QString &msg) {
qDebug() << "Called the C++ slot with message:" << msg;
}
};
int main(int argc, char *argv[]) {
QGuiApplication app(argc, argv);
QQuickView view(QUrl::fromLocalFile("MyItem.qml"));
QObject *item = view.rootObject();
MyClass myClass;
QObject::connect(item, SIGNAL(qmlSignal(QString)),
&myClass, SLOT(cppSlot(QString)));
view.show();
return app.exec();
}
是的,我看到了这一点,但我在这里发帖子,因为我不uderstand这一点,当我必须补充这一点,在那里,做我要补充这几行对每个信号插槽 –