我有一个简单的课程
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
。
非常感谢任何帮助
答案 0 :(得分:0)
QSqlQueryModel
继承自QAbstractTableModel
继承的QAbstractItemModel
。
它记录了here,QAbstractItemModel子类的默认角色作为附加属性向QML公开。
Qt角色:Qt::DisplayRole
- > QML角色名称:display