@ Сергей Власов: Я не знаю, есть ли лучшее решение для вашей проблемы, но мне удалось решить его следующим образом:
class MyDelegate : public QStyledItemDelegate
{
protected:
void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const override
{
if (option.state & QStyle::State_HasFocus){
QStyleOptionViewItem my_option = option;
my_option.state = my_option.state ^ QStyle::State_HasFocus;
QStyledItemDelegate::paint(painter, my_option, index);
return;
}
QStyledItemDelegate::paint(painter, option, index);
}
};
А затем с помощью вашего делегата в вашем выпадающем списке:
QStyledItemDelegate* itemDelegate = new MyDelegate();
combobox->setItemDelegate(itemDelegate);
это устраняет неприятную рамку вокруг выбранного элемента