2012-02-07 39 views
1

我有不同的PushButton漫遊我的腳本,我在外部的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 2012-02-08 02:04:15

回答

4

您使用的當前語法在所有示例中都是錯誤的。

選擇器QFrame:QPushButton將簡單地忽略:QPushbutton,因爲它不是有效的pseudo-state。此外,ID選擇器之前的空間意味着該規則將適用於所有後代對象,稱爲#btnName(這可能不是您想要的,但是也是第一個示例的原因)。

我假設你真正想要的是規則適用於任何QPushButtonobjectName「btnName」,它也是QFrame的後裔。

在這種情況下,第一個規則應該是:

QFrame QPushButton#btnName { css: blah; } 

和其他兩個規則應該是:

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

對類型的選擇更多詳細信息,請參閱here

+0

一如既往的個人救星,ekhu。謝謝! – Cryptite 2012-02-08 23:14:29