Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: vulko от Июнь 16, 2014, 15:45



Название: Жирный текст у QCheckBox и QRadioButton
Отправлено: 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" }


Название: Re: Жирный текст у QCheckBox и QRadioButton
Отправлено: Alex Custov от Июнь 16, 2014, 17:30
Через CSS так сделать не получится. А метод setFont() прекрасно работает.


Название: Re: Жирный текст у QCheckBox и QRadioButton
Отправлено: vulko от Июнь 17, 2014, 08:41
Через CSS так сделать не получится. А метод setFont() прекрасно работает.

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

Может я не совсем понимаю концепцию радио баттона?) хотя по идее должен быть сигнал checked(bool)... впрочем и просто checked() сигнала тоже нет...


Название: Re: Жирный текст у QCheckBox и QRadioButton
Отправлено: vulko от Июнь 17, 2014, 10:16
Заюзал сигнал toggled(bool), все вроде норм.

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