Если вы хотите настроить QRadioButton
с помощью таблиц стилей, я предлагаю вам проверить справочную документацию: https://doc.qt.io/qt-5/stylesheet-reference.html#qradiobutton-widget
Вы также должны найти полезные примеры, приведенные в документации Qt, так как они показывают, как заменить индикатор проверки разными изображениями:
QRadioButton::indicator {
width: 13px;
height: 13px;
}
QRadioButton::indicator::unchecked {
image: url(:/images/radiobutton_unchecked.png);
}
QRadioButton::indicator:unchecked:hover {
image: url(:/images/radiobutton_unchecked_hover.png);
}
https://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qradiobutton
Если вы сделаете это, вы можете просто использовать индикатор для отображения значка и оставить метку QRadioButton
пустой.
Однако, я должен предупредить вас, в зависимости от того, какой QStyle вы используете, может случиться так, что использование таблиц стилей полностью разрушит стиль компонента. Общий пример: вы используете стиль, где кнопки имеют круглые углы, вы используете таблицы стилей для изменения шрифта кнопки, и в результате у кнопки больше нет круглых углов. Это вызвано несовместимостью между некоторым QStyle и механизмом таблиц стилей. Если вы не хотите создавать многоплатформенное приложение, это может не быть проблемой, поскольку вы будете использовать только один стиль, но если вы создаете многоплатформенное приложение, вы должны проверить все возможные стили, которые у вас могут быть на разных платформах. .
Итак, если вы хотите иметь QRadioButton
без индикатора и не использовать таблицы стилей, вы можете сделать это в C ++ напрямую, создав подкласс QAbstractButton
. Просто убедитесь, что вы установили класс autoExclusive
, чтобы он вел себя как переключатель.