【问题标题】:how to send data as hidden to QComboBOX in pyqt如何在pyqt中将数据隐藏发送到QComboBOX
【发布时间】:2013-09-25 14:21:53
【问题描述】:
我需要将name 和id 发送到QComboBox,但我想发送show name 并且因为id 在dB 表中是id,我想保持隐藏id,但我不知道如何隐藏id。
我可以这样命名:
self.comboBox_2.addItems(list1)
但我对隐藏数据一无所知。
我的问题是,如何将隐藏的数据发送到QComboBox?
【问题讨论】:
标签:
c++
python
qt
pyqt
qcombobox
【解决方案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();