qt 通過樣式表修改背景

2021-07-09 13:54:01 字數 887 閱讀 5841

在qt中設定widget背景顏色或者方法很多種:重寫paintevent() , 調色盤qpalette , 樣式表setstylesheet等等。 

setstylesheet()

pwidget->setstylesheet("background-color:blue;"); //設定背景顏色

pwidget->setstylesheet(

"background-color:rgb(199,237,204)"

);

pwidget->setstylesheet("background-image:url(:/folder/show.bmp);"); //設定背景

優點是簡單方便

缺點是(1)父視窗用setstylesheet()設定後子視窗一定會受到影響,除非子視窗也用setstylesheet(),這樣會讓子視窗的設定變得侷限。即便用兩個form class來分別做大小視窗,然後在大視窗的form class中show()呼叫小視窗,小視窗依然會受影響

(2)用setstylesheet()載入的是無法縮放的,如果其大小與widget視窗大小不相符,則我們無法用程式來實現的縮放,除非我們直接處理使其大小與widget視窗相符

父視窗適合使用的設定方法:

pwidget->setautofillbackground(true);

qpalette

palette;

qpixmap

pixmap(":

/folder/show.bmp

");

palette.setbrush(pwidget->backgroundrole(),qbrush(pixmap));
pwidget->setpalette(palette);

qt樣式表入門

qt樣式表 qss 是使用與級聯樣式表 css 類似的語言編寫的文字描述。它可以用來自定義窗體的外觀,其方式大致類似於使用 css 描述來自定義 html 使用 www 瀏覽器來提交 的方式。通過stylesheet 屬性 可從qwidget 及其子類中獲得 可以訪問每個窗體的樣式表,使用這一方式,...

Qt樣式表學習

目錄 1.何為qt樣式表 2.樣式表語法基礎 3.方箱模型 4.前景與背景 5.建立可縮放樣式 6.控制大小 7.處理偽狀態 8.使用子部件定義微觀樣式 8.1.相對定位 8.2.絕對定位 1.何為qt樣式表 樣式表是通過qstyle的乙個叫qstylesheet的特殊子類來實現的。這個特殊的子類實...

QT 樣式表基礎

setstylesheet string 主視窗設定樣式的函式 或是哪個控制項需要設定直接呼叫 setstylesheet qpushbutton background 背景色 color 前景色 border 邊界 setwindowopacity 浮點型 設定視窗的透明度 範圍是0 1整個都透明...