QT樣式表--父控件設置樣式表後對子控件產生影響,控制styleSheet的作用範圍

先簡單總結一下,以方便查閱,作用範圍有3種:

一:作用於所有子控件

    background:argb(0, 0, 0, 0%)
    【本控件以及所有的子控件】的背景色全都被改變    

二:作用於此類控件

    QTextEdit{background:argb(0, 0, 0, 0%)}
    只對【本控件以及子控件】中的QTextEdit類型控件生效

三:只作用於特定控件

    QTextEdit#edTest{background:argb(0, 0, 0, 0%)}
   只對變量名(實質是QObject::objectName,如下圖)爲edTest的QTextEdit類型控件生效,

 

下面看一些例子:

 

我在ui中拖了一個QWdget作爲容器,在裏面放入了一個GroupBox,groupBox中又放了幾個按鈕等,我對最外層的QWidget設置樣式表:

結果發現,裏面所有的子控件、孫子控件的邊框都變樣了,如何避免這一情況?其實官方幫助手冊裏已經告訴我們了:

就在幫助示例文檔中,見下圖

只要在類名後面用#號串接變量名就行了,修改一下:效果如下,子控件已經不受影響了

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章