Как добавить значок в QComboBox в Qt? - PullRequest
8 голосов
/ 31 августа 2011

Я хочу добавить значок с текстом в QComboBox в Qt, как я могу это реализовать?

Ответы [ 2 ]

9 голосов
/ 31 августа 2011

Вы можете использовать следующие 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);
}
3 голосов
/ 02 октября 2016

Вы можете просто сделать (Qt5), например:

   QIcon icon = QIcon::fromTheme("edit-undo");
   QString label = "foo";
   combo->addItem( icon, label );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...