2012-02-07 2 views
1

У меня есть различные кнопки PushButtons, связанные с моим скриптом, и я загружаю внешний файл css, чтобы обрабатывать массу виджетов в моем программном обеспечении. Я добираюсь до такой степени, что мне нужно выслеживать кнопки по классам и пытаться определить определенные свойства. Общий вызов кнопки, например: QFrame: QPushButton #btnName {css: blah; } работает, однако псевдосостояния не являются: специально наведите указатель мыши и нажмите. Вот что я пытаюсь:Синтаксис псевдонима в стилях PyQt

--THIS WORKS 
QFrame:QPushButton #btnName { css: blah; } 

--THESE DO NOT 
QFrame:QPushButton:hover #btnName { css: hoverstuff; } 
QFrame:QPushButton:pressed #btnName { css: pressedstuff; } 

В листе много стилей css; может быть, это вопрос того, что «выше» этих строк? Является ли мой синтаксис неправильным для псевдо-состояний? Что дает!? Заранее спасибо.

+0

Это интересно. Этот синтаксис для меня не работает. Вы уверены, что там работает? На самом деле это должно быть 'QFrame QPushButton # btnName'. Запомните пробелы и отсутствие двоеточия. А для псевдосостояния вы должны сделать 'QFrame QPushButton # btnName: hover'. – Avaris

ответ

4

Текущий синтаксис, который вы используете, неверен во всех ваших примерах.

Селектор QFrame:QPushButton будет просто игнорировать :QPushbutton, поскольку он не является действительным pseudo-state. Кроме того, пространство перед селектором идентификаторов означает, что правило будет применяться к всем объектам-потомкам, которые называются #btnName (что, вероятно, не так, как вы планировали, но почему первый пример рода работает в любом случае).

Я предполагаю, что вы на самом деле хотел, чтобы правило применялось к любому QPushButton с objectName из «btnName», который также является потомком QFrame.

В этом случае, первое правило должно быть:

QFrame QPushButton#btnName { css: blah; } 

и два других правила должны быть:

QFrame QPushButton#btnName:hover { css: hoverstuff; } 
QFrame QPushButton#btnName:pressed { css: pressedstuff; } 

См here для получения дополнительной информации о типах Selector.

+0

Личный спаситель, как всегда, эху. Благодаря! – Cryptite

Смежные вопросы