Russian Qt Forum

Qt => QSS => Тема начата: Sahab от Март 19, 2014, 13:11



Название: [Решено] QMainwindow Child Selector bug?
Отправлено: Sahab от Март 19, 2014, 13:11
Вопрос в следующем:
Почему при установки qss главному окну и его детей с пом. Child Selector применение стиля не работает, но
если Child Selector заменить на Descendant Selector то все замечательно?

Not working:
Код:
QMainWindow > QPushButton#btn_Ok { background-color: rgb(0, 255, 0); } 
QDialog#Dialog > QPushButton#btn_Ok { background-color: rgb(255, 0, 255); }

Works good:
Код:
QMainWindow QPushButton#btn_Ok { background-color: rgb(0, 255, 0); } 
QDialog#Dialog > QPushButton#btn_Ok { background-color: rgb(255, 0, 255); }


Название: Re: QMainwindow Child Selector bug?
Отправлено: GreatSnake от Март 19, 2014, 13:16
Потому что
Цитата: assistant
Child Selector   QDialog > QPushButton   Matches all instances of QPushButton that are direct children of a QDialog.


Название: Re: QMainwindow Child Selector bug?
Отправлено: Sahab от Март 19, 2014, 13:20
Доку я читать и сам умею. Убедительная просьба перед следующим ответом собрать и запустить приложенный мини-проект.
Хотя, признаюсь, может не совсем подробно объяснил, что меня беспокоит:
не назначается стиль для кнопки который является прямым child для QMainWindow, что должно происходить при обоих случаях

p.s. Qt-4.7.1 custom build my mingw


Название: Re: QMainwindow Child Selector bug?
Отправлено: Alex Custov от Март 19, 2014, 13:26
Виджеты, которые конструируются в designer и отображаются в QMainWindow, являются потомками centralWidget(), следовательно селектор "QMainWindow > QPushButton#btn_Ok" работать не будет. Это видно в иерархии объектов в designer.


Название: Re: QMainwindow Child Selector bug?
Отправлено: Sahab от Март 19, 2014, 13:27
оппа... забыл.
Спасибо.