Qt как изменить цвет подсветки определенного элемента QComboBox

Я пытаюсь сделать подсветку прозрачной для QComboBox. Цвет этого QComboBox также изменяется в зависимости от выбранного индекса. Вот мое лучшее решение на данный момент:

switch(comboBox->currentIndex())
{
case 0:
    comboBox->setStyleSheet("QWidget {color:black}");
    break;

case 1:
    comboBox->setStyleSheet("QWidget {background-color:red; color:white;}");
    break;

case 2:
    comboBox->setStyleSheet("QWidget {background-color:green; color:white;}");
    break;
}


comboBox->setItemData(0, QColor(Qt::white), Qt::BackgroundRole);
comboBox->setItemData(0, QColor(Qt::black), Qt::ForegroundRole);
comboBox->setItemData(1, QColor(Qt::red), Qt::BackgroundRole);
comboBox->setItemData(1, QColor(Qt::white), Qt::ForegroundRole);
comboBox->setItemData(2, QColor(Qt::darkGreen), Qt::BackgroundRole);
comboBox->setItemData(2, QColor(Qt::white), Qt::ForegroundRole);

QPalette p = comboBox->palette();
p.setColor(QPalette::Highlight, Qt::transparent);
comboBox->setPalette(p);

p = comboBox->view()->palette();
p.setColor(QPalette::Highlight, Qt::transparent);

comboBox->view()->setPalette(p);

Проблема в том, что какой бы цвет QComboBox в настоящее время не был, это будет цвет подсветки при выборе элемента во всплывающем окне. Я бы хотел, чтобы каждый элемент QComboBox оставался одного цвета. Изображения показывают проблему, с которой я столкнулся.

Ответы на вопрос(1)

Ваш ответ на вопрос