Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Vamireh от Января 19, 2014, 13:19



Название: QCheckBox, background-color и стиль Fusion
Отправлено: Vamireh от Января 19, 2014, 13:19
Нужно сделать градиент background'а на чек боксе. Всегда было нормально, но при стиле Fusion - сам белый квадратик с галочкой становится черным. Если не градиент, а сплошным цветом залить - то квадратик становится цветом фона, причем без прозрачности. Как исправить?


Название: Re: QCheckBox, background-color и стиль Fusion
Отправлено: Hrundel от Января 19, 2014, 14:06
На мой взгляд - легче собственный чек бокс написать, чем переписывать нативный.


Название: Re: QCheckBox, background-color и стиль Fusion
Отправлено: Vamireh от Января 19, 2014, 17:32
setStyleSheet("background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 rgba(%1, %2, %3, 255), stop:1 rgba(0, 0, 0, 0));")... - это уже переписывание?


Название: Re: QCheckBox, background-color и стиль Fusion
Отправлено: carrygun от Января 20, 2014, 04:38
Через стили же можно достучаться до нужного контрола.


Название: Re: QCheckBox, background-color и стиль Fusion
Отправлено: Hrundel от Января 20, 2014, 13:29
setStyleSheet("background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 rgba(%1, %2, %3, 255), stop:1 rgba(0, 0, 0, 0));")... - это уже переписывание?

Нет, не переписывание. Скажу честно - не знал, что нативные методы можно использовать внутри css! Круто! Удивил! Научил! Спасибо!
Вопрос - где о подобном можно почитать?


Название: Re: QCheckBox, background-color и стиль Fusion
Отправлено: kambala от Января 20, 2014, 14:51
а где ты видишь там нативные методы? если ты про %1 и т.д., то параметром setStyleSheet() является QString, а ее ты волен формировать как тебе нравится.


Название: Re: QCheckBox, background-color и стиль Fusion
Отправлено: Hrundel от Января 20, 2014, 15:15
ах вон чего - QLinearGradient это вообще класс!


Название: Re: QCheckBox, background-color и стиль Fusion
Отправлено: kambala от Января 20, 2014, 16:00
http://qt-project.org/doc/qt-4.8/stylesheet-reference.html - ctrl+f - qlineargradient


Название: Re: QCheckBox, background-color и стиль Fusion
Отправлено: Hrundel от Января 20, 2014, 19:50
http://qt-project.org/doc/qt-4.8/stylesheet-reference.html - ctrl+f - qlineargradient

Спасибо! Очень интересно! Век живи - век учись.


Название: Re: QCheckBox, background-color и стиль Fusion
Отправлено: Figaro от Января 21, 2014, 13:05
Век живи -  век читай документацию