如何創(chuàng)建用于QML的通用對象模型?我想知道是否有任何宏或方法將Qt模型注冊為QObject的屬性。例如,我有AnimalModel (http:/doc.qt.io/qt-5/qtQuick-Modelviewsdata-cppmodel s.html#qabopactitemmodel).我知道我可以把它傳遞給QuickView的根上下文QuickView view;view.rootContext()->setContextProperty("myModel", &model);如果我通過QML宏注冊了QObject,我也可以傳遞這個對象來查看:view.rootContext()->setContextProperty("obj", pDataObject);但是,如果我想要QObject,它包含任何數據的模型,該怎么辦?例如:class DataObject : public QObject{
Q_OBJECT
Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged)
Q_PROPERTY(QString color READ color WRITE setColor NOTIFY colorChanged)
...
AnimalModel m_modelAnimals;
//Is this possible in any way?
//Q_PROPERTY(AnimalModel modelAnimals READ modelAnimals NOTIFY modelAnimalsChanged)};到目前為止,我找到的每一個例子都顯示了如何通過QAbstractListModel到根上下文。但沒有人將其用作QObject屬性。(我知道有QQmlListProperty但QQmlListProperty不支持部分刷新??偸怯斜匾亟ㄋ蠶ML對象)
3 回答

幕布斯7119047
TA貢獻1794條經驗 獲得超8個贊
static QHash<int, QByteArray> roles = { { ObjectRole, "object" } };
- 3 回答
- 0 關注
- 375 瀏覽
添加回答
舉報
0/150
提交
取消