Russian Qt Forum
Ноябрь 25, 2024, 22:53 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Жирный текст у QCheckBox и QRadioButton  (Прочитано 3512 раз)
vulko
Гость
« : Июнь 16, 2014, 15:45 »

Всем привет.

Хочу сделать так, чтобы текст у выбранного radio button и check box становился жирным.

Стиль задается через qss который подгружается из файла.

В общем что пробовал:

Код:
QCheckBox/QRadioButton:checked {
    font-weight: bold;
}

QCheckBox/QRadioButton::title:checked {
    font-weight: bold;
}

Ни один вариант не работает. Нагуглить толком ничего не удалось, кроме варианта с Label'ом.
Также в сети нашел упоминания что вызов setFont() метода с Bold параметром также не помогает.

Возможно ли сделать такое без помощи Label'а или наследования и переопределения paintEvent?

Если верить вот этому доку:
http://doc.crossplatform.ru/qt/4.5.0/stylesheet-reference.html#list-of-properties

То свойство font и font-weight должны работать для CheckBox'а:
Цитировать
font
   Font
                   Сокращенное обозначение для установки шрифта текста. Эквивалентно указанию font-family, font-size, font-style и/или font-weight.
Это свойство поддерживается всеми виджетами, которые связаны с QWidget::font.

Если это свойство не установлено, то значение по умолчанию равно QWidget::font.

Пример:

 QCheckBox { font: bold italic large "Times New Roman" }
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #1 : Июнь 16, 2014, 17:30 »

Через CSS так сделать не получится. А метод setFont() прекрасно работает.
Записан
vulko
Гость
« Ответ #2 : Июнь 17, 2014, 08:41 »

Через CSS так сделать не получится. А метод setFont() прекрасно работает.

Сделал через setFont(), да вроде работает, однако сигнал об изменении состояния radio button в group box приходит только когда его выделяешь. А когда выделяешь другой, сигнала нет... соотв. выбирав один раз у меня шрифт жирный, а вот обратно в нормальный не превращается...

Может я не совсем понимаю концепцию радио баттона?) хотя по идее должен быть сигнал checked(bool)... впрочем и просто checked() сигнала тоже нет...
Записан
vulko
Гость
« Ответ #3 : Июнь 17, 2014, 10:16 »

Заюзал сигнал toggled(bool), все вроде норм.

Только вот с GroupBox проблема возникла, если ему задавать setCheckable(true), то его название в виде checkbox'а можно галкой отмечать... но если ему задавать шрифт жирный через setFont, все что внутри начинает ползти вверх...
В общем мэджик QT Улыбающийся
Пока решил забить на эту мелочь.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.131 секунд. Запросов: 23.