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

how to send data as hidden to QComboBOX in pyqt

本文关键字:Pyqt 中的 QComboBOX 数据 隐藏      更新时间:2023-10-16

我需要向QComboBox发送nameid,但是我想show name并且因为id在dB表中是id,所以我想保持隐藏id,但我不知道如何保持隐藏id。我可以说出这样的名字:

self.comboBox_2.addItems(list1)

Bu 我对隐藏数据一无所知。

我的问题是,如何将隐藏的数据发送给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();