Qt cómo cambiar el color de resaltado de un elemento específico de QComboBox

Estoy tratando de hacer que el resaltado sea transparente para un QComboBox. El color de este QComboBox también cambia según el índice seleccionado. Aquí está mi mejor solución hasta ahora:

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);

El problema es que cualquiera que sea el color del QComboBox actualmente es el color de resalte al seleccionar un elemento en la ventana emergente. Me gustaría que cada artículo de QComboBox permanezca del mismo color. Las imágenes muestran el problema que estoy teniendo.