2016-04-10 104 views
0

如何更改QPushButton只有一個項目setStyleSheet?單詞「item」或「element」我的意思是「背景顏色」,「邊框顏色」,「邊框半徑」等等。 如果你這樣做:風格變化

setStyleSheet("QPushButton {" 
        "background-color: blue;" 
        "}"); 

剩餘的元素(border-radius,...)將違約。而我只想改變其中一個元素,另一個不要碰。例如,我有QPushButton與樣式像這樣:

setStyleSheet("QPushButton {" 
         "background-color: blue;" 
         "border-radius: 5"; 
"}"); 

,如果我想改變border-radius這樣:

setStyleSheet("QPushButton {" 
          "border-radius: 10"; 
    "}"); 

我也改變background-color爲默認值,但我只想要border-radius(改變其他元素我不會改變)。

+0

你能澄清你的意思嗎*默認熔化*?你想要什麼和你得到什麼的截圖也會有很大幫助。 –

+0

@FrédéricHamidi我改變了問題 –

回答

3

Qt Style Sheets Examples

如果我們希望屬性只適用於一個特定的QLineEdit,我們 可以使用QObject::setObjectName()給它一個名稱,並使用一個ID 選擇引用它:

myDialog->setStyleSheet("QLineEdit#nameEdit { background-color: yellow }"); 

總是先搜索Qt的文檔。這是我見過的最好的之一。

+0

對不起,單詞「元素」我的意思是「背景顏色」,「邊框顏色」,「邊框半徑」,...... –

+0

@Tapac您可能會嘗試製作多個樣式表使用字符串連接),然後動態更改對象名稱。讓我知道結果。 – LogicStuff