在cpp代码中,我们自定义了一个消息类,用来存放各种消息数据。
- struct MyMessage : public QObject
- {
- Q_OBJECT
- MyMessage(QString author):author(author){}
- QString author;
- }
然后,我们想要在qml的组件中使用它:
- Button {
- text: "SendMessage"
- onClicked: {
- var message = "Karel"
- MyClass.addMessage(MyMessage(message)) //将message通过MyMessage对象传递出去
- }
- }
那么我们可以这么做:
qmlRegisterType
qmlRegisterType("MyMessage", 1, 0, "MyMessage")
import MyMessage 1.0
- MyMessage {
- id: myMessage
- }
通过id来使用它的方法
myMessage.myMethod()
最好在MyMessage类中添加一些属性 Q_PROPER