Скругление углов цвета фона QSpinBox

Я разрабатываю графический интерфейс в Qt 4.8 (базовый язык - C++), и у меня возникают проблемы при стилизации QSpinBox.

Мне бы хотелось, чтобы виджет имел красивую округлую границу (я отключил кнопки вверх и вниз через Qt Creator) с помощью таблиц стилей Qt, и мне удалось сделать это довольно хорошо с помощью следующего кода:

QSpinBox {
    color: white;
    selection-background-color: black;
    border: 1px solid white;
    border-radius: 5px;
    padding-left: 2px;
    padding-top: 2px;
}

Однако, как только я пытаюсь установить цвет фона, определяя свойство background или background-color, цвет фона заполняет весь прямоугольник виджета, делая виджет довольно уродливым (на этом этапе белые границы все еще правильно округлено).

QSpinBox {
    color: white;
    selection-background-color: black;
    background: blue;
    border: 1px solid white;
    border-radius: 5px;
    padding-left: 2px;
    padding-top: 2px;
}

Я бы, конечно, хотел, чтобы прямоугольник цвета фона был округлен таким же образом. Я попытался немного поиграть со свойствами background-clip и background-origin:

QFrame, QSpinBox {
        color: white;
        selection-background-color: black;
        background-origin: border;
        background-clip: border;
        border: 1px solid white;
        border-radius: 5px;
        text-align:center;
        padding-left: 2px;
        padding-top: 2px;
}

Но ничто из того, что я пробую, похоже, не помогает. Я что-то пропустил или сделал не так?

0 ответов

Используйте setAutoFillBackground(false);

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