QComboBox绑定对象列表

qt QComBox绑定对象列表依靠的是QVariant

绑定数据到UI

 for (QVector<Department>::const_iterator it=department.constBegin(); it!=department.constEnd(); ++it)
        {
            ui->departmentCB->addItem(it->Name,QVariant::fromValue(it->Id));
        }

  取数据

int departmentId=ui->departmentCB->itemData(ui->departmentCB->currentIndex()).toInt();

 

上面是绑定一个值,现在我们来绑定一个struct

先定义:

Q_DECLARE_METATYPE(MyStruct)

绑定:

ui->ItemCb->addItem(it.ItemNameBase,QVariant::fromValue<MyStruct>(it));

取值:

QVariant itemProperty=ui->ItemCb->currentData(Qt::UserRole);
MyStruct item = itemProperty.value<MyStruct>();

 

如果有更好的方法可以在评论中评论,本人对QVariant的了解还比较显浅。

posted @ 2021-05-14 17:53  出门必戴双肩包  阅读(533)  评论(0编辑  收藏  举报