Qt использует CSS для раскрашивания объектов? Есть ли другой способ пойти по этому поводу? - PullRequest
3 голосов
/ 12 сентября 2010

Я изучаю PyQt с этого сайта. В учебнике создается виджет, который окрашивает квадрат.

В этом они используют CSS для окраски квадрата, а не для придания ему какого-то конкретного свойства цвета.Почему это?Есть ли другой способ сделать это без CSS или это предпочтительный метод?Это кажется ужасно странным ..

Ответы [ 2 ]

4 голосов
/ 12 сентября 2010

Каждый виджет имеет QPalette, который можно изменить и получить к нему доступ через QWidget :: palette () и QWidget :: setPalette (p).

Вы можете найти некоторые полезные подробности здесь: QPalette в Qt4,6 .CSS - это просто более чистый и простой (и декларативный, который очень популярен в наше время :)) способ его определения.

Обратите внимание, что если вы хотите только изменить фон вашего виджета, есть удобный метод только дляВы: QWidget :: setBackgroundRole (QPalette :: ColorRole).

0 голосов
/ 26 сентября 2010

Это одна из сильных сторон Qt. Вы можете изменить пользовательский интерфейс с помощью простого CSS. Получается очень приятно, если вы относитесь правильно. Вы хотели бы взглянуть на мой GhostQt SDK? Я использую CSS для моего Ghost Menu, чтобы придать ему закругленные углы и применить прозрачный фон. http://traipse.assembla.com/spaces/ghostqt (это побочный проект, поэтому там не так много)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...