Russian Qt Forum

Qt => QSS => Тема начата: billygates от Февраль 27, 2010, 17:36



Название: Изменить цвет QLabel с помощью stylesheet?
Отправлено: billygates от Февраль 27, 2010, 17:36
Как с помощью setStylesheet() изменить цвет текста-ссылки в QLabel, заданный с помощью rich text (e.g.: "<a href="#">Go</a>") ?
Код:
setStylesheet("QLabel { color: red; } ");
срабатывает только для QLabel с plain text, не содержащей разметку. Спасибо.


Название: Re: Изменить цвет QLabel с помощью stylesheet?
Отправлено: Павел_F. от Февраль 27, 2010, 20:34
Ну раз там будет разметка html то, наверное, это уже в сторону него и смотреть нужно.
Что нибудь типа:
Код
<body link="red">
<a href="#">Go</a>
</body>
 
Или в stylesheet где-то сказать что link="red". Но точно не знаю.


Название: Re: Изменить цвет QLabel с помощью stylesheet?
Отправлено: waster от Март 08, 2010, 17:39
Это не всегда работает, и может вылезти в совершенно другом виджете, что потребует ДВУХ разных способов кастомизировать виджеты.

Style Sheet лучше не использовать, или использовать только для быстрого создания прототипа - гораздо лучше переопределять paintEvent и просто сделать заливку.


Название: Re: Изменить цвет QLabel с помощью stylesheet?
Отправлено: SABROG от Март 08, 2010, 18:21
Это не всегда работает
В каких случаях это может не работать?

может вылезти в совершенно другом виджете, что потребует ДВУХ разных способов
Если речь про это:

Код
C++ (Qt)
setStylesheet("QLabel { color: red; } ");
 

то не вылезет, если стиль ставить не всему приложению, а конкретному QLabel, а если всему приложению, то решается так:

Код
C++ (Qt)
setStylesheet("QLabel#myLabel { color: red; } ");
 


Название: Re: Изменить цвет QLabel с помощью stylesheet?
Отправлено: Kolobok от Март 08, 2010, 18:42
гораздо лучше переопределять paintEvent и просто сделать заливку.

Как это может помочь изменить цвет ссылки?


Название: Re: Изменить цвет QLabel с помощью stylesheet?
Отправлено: BRE от Март 08, 2010, 20:44
Style Sheet лучше не использовать...
Достаточно смелое заявление. Особенно без всяких пояснений.
Про эффективность переопределение paintEvent для изменения внешнего вида готового виджета даже комментировать не хочется....