如何将数据隐藏发送到pyqt中的QComboBOX

时间:2013-09-20 08:57:54

标签: c++ python qt pyqt qcombobox

我需要将nameid发送给QComboBox,但我想show name,因为id是id,以dB为单位表,我想保持隐藏id,但我不知道如何保持隐藏id。 我可以这样命名:

self.comboBox_2.addItems(list1)

我对隐藏数据一无所知。

我的问题是,如何将数据隐藏发送到QComboBox

1 个答案:

答案 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();