Russian Qt Forum

Qt => Вопросы новичков => Тема начата: Alex_C от Март 28, 2012, 09:47



Название: Изменить цвет QLabel (да и др. виджетов) пользователем
Отправлено: Alex_C от Март 28, 2012, 09:47
Чего то немного запутался в установке цветов.
Мне необходимо , чтобы пользователь мог вызвать QColorDialog и назначить цвет допустим QLabel и затем сохранить пользовательские установки. Как я понял, это делается при помощи setStyleSheet("color: rgb(255, 0, 0)");
Вопрос: setStyleSheet принимает параметр типа QString, QColorDialog возвращает параметр типа QColor.
Как их верно привести друг к другу?


Название: Re: Изменить цвет QLabel (да и др. виджетов) пользователем
Отправлено: Bepec от Март 28, 2012, 10:14
А почему не палитры?

QRgb QColor::rgb () const


Название: Re: Изменить цвет QLabel (да и др. виджетов) пользователем
Отправлено: Alex_C от Март 28, 2012, 13:01
А почему не палитры?


Имеется ввиду так:
Код:
    QPalette p = ui->labelDistance->palette();
    p.setColor(QPalette::Base, Qt::red);
    p.setColor(QPalette::Text, Qt::red);
    ui->labelDistance->setPalette(p);
у меня так не работает. Плюс в доке написано, что предпочтительнее использовать setStyleSheet.


Название: Re: Изменить цвет QLabel (да и др. виджетов) пользователем
Отправлено: Alex_C от Март 29, 2012, 11:00
В общем опять сам разобрался:
цвет устанавливать надо так
Код:
    QPalette p = ui->label_1->palette();
    p.setColor(QPalette::WindowText, Qt::red);
    ui->label_1->setPalette(p);

QPalette::WindowText - это устанавливает цвет шрифта для QLabel


Название: Re: Изменить цвет QLabel (да и др. виджетов) пользователем
Отправлено: Bepec от Март 29, 2012, 12:14
Кхм... логично. А вы этого незнали?


Название: Re: Изменить цвет QLabel (да и др. виджетов) пользователем
Отправлено: Alex_C от Март 29, 2012, 13:53
Кхм... логично. А вы этого незнали?

Я упорно пытался использовать QPalette::Text  ;D


Название: Re: Изменить цвет QLabel (да и др. виджетов) пользователем
Отправлено: Bepec от Март 29, 2012, 14:24
Designer + palette = ознакомление со всеми палитрами ;)


Название: Re: Изменить цвет QLabel (да и др. виджетов) пользователем
Отправлено: Alex_C от Март 29, 2012, 17:13
Designer + palette = ознакомление со всеми палитрами ;)

Именно этим я вчера и занимался :)


Название: Re: Изменить цвет QLabel (да и др. виджетов) пользователем
Отправлено: Bepec от Март 29, 2012, 20:51
Я бы на вашем месте воспользовался бы Стайлшитами ;)

Они как бы эластичнее палитр, пусть и более требовательны.