C++ 在QComboBox中显示QAbstractTableModel

C++ 在QComboBox中显示QAbstractTableModel,c++,qt,qcombobox,qabstractitemmodel,qabstracttablemodel,C++,Qt,Qcombobox,Qabstractitemmodel,Qabstracttablemodel,晚上好。这是我的第一个问题,所以我希望它不会太愚蠢 我有一个模型子类QAbstractTableModel,它存储继承QObject的项。我想在QComboBox中显示项目列表,该列表在模型更改时更新 该模型实现了四个所需的功能rowCount()、columnCount()、data()和headerData() 我的问题是:当使用QComboBox::setModel()时,如何在QComboBox中使用qabstractemmodel?(换句话说,例如,列计数是否必须等于1?) 使用QAb

晚上好。这是我的第一个问题,所以我希望它不会太愚蠢

我有一个模型子类
QAbstractTableModel
,它存储继承
QObject
的项。我想在
QComboBox
中显示项目列表,该列表在模型更改时更新

该模型实现了四个所需的功能
rowCount()
columnCount()
data()
headerData()

我的问题是:当使用
QComboBox::setModel()
时,如何在
QComboBox
中使用
qabstractemmodel
?(换句话说,例如,列计数是否必须等于1?)

使用
QAbstractModel
时,如何选择为
QComboBox
中的每个项目显示的文本? 我在
QObject
中找到了一个
objectName()
方法,但我不确定它的使用方式


谢谢大家!

您可以通过提供返回1的columnCount()来为QAbstractTableModel子类化

然后,当您将覆盖

QVariant QAbstractItemModel::data(const QModelIndex & index, int role = Qt::DisplayRole)
您必须对
角色作出反应。如果是DisplayRole,您将返回从模型对象获取的文本