QComboBox не может изменить цвет границы

У меня есть класс, который наследует QComboBox. Мне нужно установить красную рамку для этого виджета.
Я не могу использовать QPalette, я пытаюсь использовать setStyleSheet:
pComboBox->setStyleSheet("QFrame { border: 2px solid red; }")
Он хорошо работает для QLineEdit, но для QComboBox я получил красную рамку вокруг всплывающего окна, а не поля со списком.
Как я могу получить доступ к фрейму QComboBox?

2 ответа

Решение

Хорошо, самый простой способ, который я нашел, чтобы решить эту проблему, это просто использовать виджет подкласса, который я использую, и нарисовать красный прямоугольник в paintEvent().

Вы должны использовать QComboBox селектор, а не QFrame (или оба, если вы хотите, чтобы два стиля).

pComboBox->setStyleSheet("QComboBox { border: 2px solid red; } QFrame { border: 2px solid blue; }")

См. Примеры таблиц стилей для получения дополнительной информации о стилизации этого виджета.

Другие вопросы по тегам