如何在Qt中为QComboBox添加图标?

时间:2011-08-31 07:43:29

标签: c++ qt

我想在Qt的QComboBox中添加带文字的图标,我该如何实现?

2 个答案:

答案 0 :(得分:9)

您可以使用以下API:

void QComboBox::insertItem ( int index, const QString & text, const QVariant & userData = QVariant() )
void QComboBox::setItemIcon ( int index, const QIcon & icon )

http://doc.qt.io/qt-5/qcombobox.html#insertItem
http://doc.qt.io/qt-5/qcombobox.html#setItemIcon

至于代码片段,它就像这样简单:

void AddItem(QComboBox* combo, QString itemName, QIcon* icon)
{
    combo->insertItem(0, itemName);
    combo->setItemIcon(0, *icon);
}

答案 1 :(得分:3)

你可以简单地做(Qt5),例如:

   QIcon icon = QIcon::fromTheme("edit-undo");
   QString label = "foo";
   combo->addItem( icon, label );