晚上好StackOverflow。这是我的第一个问题,所以我希望它不会太愚蠢。
我有一个模型子类QAbstractTableModel
,用于存储继承QObject
的项目。我想在QComboBox
中显示项目列表,该列表会在模型更改时更新。
该模型实现了所需的四个函数rowCount()
,columnCount()
,data()
和headerData()
。
我的问题是:使用QAbstractItemModel
时如何在QComboBox
中使用QComboBox::setModel()
? (换句话说,列数必须等于1,例如?)。
使用QComboBox
时,如何为QAbstractModel
中的每个项目选择显示的文字?
我在objectName()
中找到了QObject
方法,但我对它的使用方式并不确定。
谢谢!
答案 0 :(得分:0)
您可以继承QAbstractTableModel,提供返回1的columnCount()。
然后,当你要覆盖
QVariant QAbstractItemModel::data(const QModelIndex & index, int role = Qt::DisplayRole)
你必须对role
做出反应。如果是DisplayRole,您将返回从模型对象中获取的文本