我想在 QCombobox 小部件的左侧设置图标。我知道我可以先插入一个项目,然后设置插入项目的图标,然后选择这个新插入的项目。但是,出于特殊原因,我不想在下拉列表中插入新项目。Windows ComboBox 控件允许我们通过使用-1 的索引来更改编辑框的图标。我不知道如何使用 QCombobox 来实现。
感谢您的任何评论!
我自己从未尝试过,但这是一个想法。
QComboBox 基于 Qt 的模型/视图框架,因此项目包含在QStandardItemModel中,可以使用QComboBox::model()
.
步骤是:
QStandardItem
setIcon()
and setText()
(或使用正确的 ctor)例子:
QStandardItem* item = new QStandardItem(theIcon, theText);
[...]
QStandardItemModel* comboModel = qobject_cast<QStandardItemModel*>(theCombo->model());
comboModel->appendRow(item);