Для уже существующего проекта Qt я хотел бы установить границу для сфокусированных виджетов через qss-файл. Но столкнулся с неожиданным результатом. Когда я изменяю границу QSpinBox
(и QDoubleSpinBox
), граница изменится, как я ожидаю, но кнопки вверх и вниз тоже меняются и выглядят некрасиво.
Вот мое определение стиля (полный пример доступен здесь):
QSpinBox:focus
{
border-width: 2px;
border-style: solid;
border-color: green;
}
Мой вопрос: как изменить внешний вид границы и одновременно сохранить внешний вид кнопки вверх и вниз. Решение, которое я ищу, не должно быть кросс-платформенным или кросс-версией.
Моя среда:
- KUbuntu 15.10 (amd64);
- Qt 5.4 (x64).
Обновление:
Вот еще один пример с другим стилем:
QSpinBox
{
border-width: 2px;
border-style: solid;
border-color : red;
}
QSpinBox:hover
{
border-width: 2px;
border-style: solid;
border-color: blue;
}
Виджет выглядит так:
precise a style even a default one
Я не понимаю, как это сделать. Можете ли вы привести пример? Вы имеете в виду:QSpinBox::up-button {}
? - person Gluttton   schedule 03.02.2016up_arrow.png
и т. д., сделанные вручную, чтобы заставить работать простое изменение стиля? Насколько это запутано? Я согласен с Glutton, что это будет сложно! - person ThorngardSO   schedule 04.02.2016QApplication::setStyle( QStyleFactory::create( "Fusion" ) );
- person Dmitry Sazonov   schedule 05.02.2016