Russian Qt Forum

Qt => Вопросы новичков => Тема начата: Сергей85 от Май 02, 2017, 20:56



Название: QT Creator: как изменить цвет текста RadioButton?
Отправлено: Сергей85 от Май 02, 2017, 20:56
Через интерфейс просто: свойствО WindowText Palette. Но как на него программно выйти?


Название: Re: QT Creator: как изменить цвет текста RadioButton?
Отправлено: PimenS от Май 02, 2017, 21:28
Например так

Код:
radio_button->setStyleSheet("QRadioButton { color: red; }");


Название: Re: QT Creator: как изменить цвет текста RadioButton?
Отправлено: Alex Custov от Май 02, 2017, 21:37
https://doc.qt.io/qt-5/qwidget.html#palette-prop


Название: Re: QT Creator: как изменить цвет текста RadioButton?
Отправлено: Сергей85 от Май 04, 2017, 19:22
Например так

Код:
radio_button->setStyleSheet("QRadioButton { color: red; }");

Это убивает другие настройки форматирования радиобаттона (размер шрифта в частности). Просто "color: red;" делает то же самое. Хотя цвет радиобаттона меняется, да. Косяк на косяке в этой среде - как же исправить этот новый косяк?


Название: Re: QT Creator: как изменить цвет текста RadioButton?
Отправлено: kambala от Май 04, 2017, 19:36
стиль шрифта можно тоже через qss прописать


Название: Re: QT Creator: как изменить цвет текста RadioButton?
Отправлено: billy4685 от Май 05, 2017, 08:42
Есть и другое решение. Записать в переменную QString уже имеющий StyleSheet для QRadioButton, и потом прибавить к нему новый цвет текста.
К примеру этот кусок текста у меня сработал.
Код:
ui->radioButton->setStyleSheet("QRadioButton{background: yellow; color: green;}");
QString str = ui->radioButton->styleSheet();
ui->radioButton->setStyleSheet(str + "QRadioButton{color: red;}");

Не знаю правда поможет ли это Вам.


Название: Re: QT Creator: как изменить цвет текста RadioButton?
Отправлено: __Heaven__ от Май 05, 2017, 09:20
При редактировании в QtCreator можно radiobutton заменить на HorizontalLayout, в который поместить radiobutton без надписи и label. Дважды тыкнув на label откроется редактор текста с форматированием. Связать кнопку и текст партнёрством(buddy) и сигнал/слотом по клику. Как сделать кликабельную надпись см. тут (https://wiki.qt.io/Clickable_QLabel). Естественно, label на форме нужно повысить до clickablelabel


Название: Re: QT Creator: как изменить цвет текста RadioButton?
Отправлено: carrygun от Май 05, 2017, 11:44
Вам уже предложили почитать документацию (http://doc.qt.io/qt-5/qpalette.html#setColor-1), в чем проблема то?

Код
C++ (Qt)
   QPalette p = radioButton->palette();
   p.setColor(QPalette::WindowText, Qt::red);
   radioButton->setPalette(p);
 


Название: Re: QT Creator: как изменить цвет текста RadioButton?
Отправлено: Сергей85 от Май 05, 2017, 17:05
Вам уже предложили почитать документацию (http://doc.qt.io/qt-5/qpalette.html#setColor-1), в чем проблема то?

Код
C++ (Qt)
   QPalette p = radioButton->palette();
   p.setColor(QPalette::WindowText, Qt::red);
   radioButton->setPalette(p);
 

Проблема в том, что любое действие в QT, которое в других языках занимает 1 строчку, занимает много строк и отнюдь не очевидных.


Название: Re: QT Creator: как изменить цвет текста RadioButton?
Отправлено: __Heaven__ от Май 05, 2017, 17:27
Проблема в нежелании читать документацию и использовать поисковик.


Название: Re: QT Creator: как изменить цвет текста RadioButton?
Отправлено: Alex Custov от Май 05, 2017, 17:46
Проблема в том, что любое действие в QT, которое в других языках занимает 1 строчку, занимает много строк и отнюдь не очевидных.

Поверь мне, проблема не в этом.