我有几个关于关于C++与QML之间数据交互的问题,说出个人理解,不知道对不对,和同学者共同讨论,向高人获取指点:
1、QML中属性数据对应C++中值类型还是指针类型?还是两者都可?如果都可以有区别吗?
比如:
BirthdayParty {
property Person host1: Person {
name: "Jones"
shoeSize: 12
}
host2: Person {
name: "Bob Jones"
shoeSize: 12
}
}
那么,BirthdayParty 下的host1属性和host2属性各是值类型还是指针类型。
host1为扩展属性,host2为BirthdayParty自带属性。
Q_PROPERTY(Person *host READ host WRITE setHost)---1、第一种写法
Q_PROPERTY(Person host READ host WRITE setHost)---2、第二种写法
2、关于Qt元素析构问题。现在有一个类叫做Elements,继承与QObject,在Elements有QList<Node*> nodesList;元素。Node元素都继承与QObject,在构建nodesList中的每个元素时都将nodesList中元素的Parent属性指向了Elements对象,那么现在我要手动删除nodesList中的元素,并且delete掉,那么会不会与Qt中析构机制有冲突?