我需要将name
和id
发送给QComboBox
,但我想show
name
,因为id
是id,以dB为单位表,我想保持隐藏id
,但我不知道如何保持隐藏id
。
我可以这样命名:
self.comboBox_2.addItems(list1)
我对隐藏数据一无所知。
我的问题是,如何将数据隐藏发送到QComboBox
?
答案 0 :(得分:1)
如果你有一个基于QAbstractItemModel
的数据模型,其中包含列'id'和'name',你可以这样做:
enum Columns
{
COL_ID,
COL_NAME
}
QComboBox *combo = new QComboBox;
combo->setModel(model);
combo->setModelColumn(COL_NAME)
如果您想逐个添加项目到组合框,请执行以下操作:
QComboBox *combo = new QComboBox;
combo->addItem(name, id);
然后您可以使用以下方法从组合框项目中检索id值:
QString id = combo->itemData(index, Qt::UserRole).toString();