我需要发送name
和发送id
到QComboBox
,但我想发送show
name
和因为id
是分贝表中的 id,我想保持隐藏状态id
,但我不知道如何保持隐藏状态id
。我可以这样命名:
self.comboBox_2.addItems(list1)
但我对隐藏数据一无所知。
我的问题是,如何将数据隐藏发送到QComboBox
?
如果您有一个基于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();