用于ListView用法的QSqlQueryModel

时间:2016-11-22 12:29:48

标签: sql qt listview qml

我有一个简单的课程

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

非常感谢任何帮助

1 个答案:

答案 0 :(得分:0)

QSqlQueryModel继承自QAbstractTableModel继承的QAbstractItemModel

它记录了here,QAbstractItemModel子类的默认角色作为附加属性向QML公开。

Qt角色:Qt::DisplayRole - > QML角色名称:display