2016-11-22 75 views
0

我有一個簡單的類QSqlQueryModel的ListView控件使用

class SqlContactModel : public QSqlQueryModel 
{ 
    Q_OBJECT 
public: 
    SqlContactModel(QObject *parent = 0); 
    Q_INVOKABLE void addContact(const QString& contactName); 
    Q_INVOKABLE void removeContact(const QString& contactName); 
}; 

裏面的ListView使用像

model : SqlContactModel{} 

一個模型,如果我把我委託的文本屬性作爲

它工作正常
contactId: model.display 

問題是 - 爲什麼它的工作?此示例由http://doc.qt.io/qt-5/qtquickcontrols2-chattutorial-example.html提供,但此model.display屬性沒有解釋。我無法在QSqlQueryModel或ListView中的任何地方看到display

任何幫助高度從QAbstractTableModelQAbstractItemModel繼承理解

+0

可能[這](http://doc.qt.io/qt-5/qabstractitemmodel.html#roleNames)鏈接可以幫助你。 – folibis

+0

太棒了 - 這就是我一直在尋找的! – Dmitry

回答

0

QSqlQueryModel繼承。

它記錄在here QAbstractItemModel子類的默認角色作爲附加屬性暴露給QML。

Qt的作用:Qt::DisplayRole - > QML角色名稱:display