Название: QComboBox Отправлено: 123123 от Ноябрь 12, 2009, 16:19 есть задача показывать иконки в items, это я реализовал так:
Код: ui->comboBox->addItem(QIcon(QPixmap(fileNames),fileNames,Qt::UserRole); Проблем с этим не возникло, но возникла необходимость прятать иконку в строке, т.е. в списке нужна иконка, а в строке где текущий итем нужно не показывать иконку. Как это можно реализовать? пример на картинке показан Название: Re: QComboBox Отправлено: spectre71 от Ноябрь 13, 2009, 11:34 Например:
Сделать наследника QComboBox со своим списком иконок. Не добавлять иконки в список через addItem, а добавлять их в свой список у наследника. Сделать своего делегата QStyledItemDelegate. Сделать отрисовку иконок(из своего списка) и текста в его "paint". Установить его в свой ComboBox. void QComboBox::setItemDelegate ( QAbstractItemDelegate * delegate ); Поскольку через addItem иконки не были добавлены, в едите они не появятся. А отрисовка в выпадающем списке будет делаться через твой делегат(делегат не отрисовывает в едите!). Может есть способ и попроще. |