QT之設計部件背景色

2022-08-21 05:57:14 字數 1630 閱讀 1379

假設希望對指定部件設定背景色。能夠加入例如以下**:

//設定pushbutton的背景為黃色

ui->pushbutton->setstylesheet("background:yellow");

//設定horizontalslider的背景為藍色

ui->horizontalslider->setstylesheet("background:blue");

......

假設希望對相同的部件都設定相同的背景色,能夠在它們的父部件上設定樣式表,**例如以下:

setstylesheet("qpushbuttonqslider");

採用這樣的方式,再往主窗體上加入的全部qpushbutton和qslider部件的背景色都會改為這裡指定的顏色。

假設須要設定同類部件為同一指定顏色。則在主介面上右擊,選則「改變樣式表」。加入**:

qpushbutton

注意游標留在第乙個大括號後面,然後點選「加入顏色」下拉框選擇顏色。這樣就能夠設定同樣控制項指定背景色了。

qpalette類基本的顏色角色例如以下:

//首先要呼叫setautofillbackground(true)來設定視窗自己主動填充背景

ui->pushbutton->setautofillbackground(true);

//獲取pushbutton的調色盤

qpalette p = ui->pushbutton->palette();

//設定button文字顏色為紅色

p.setcolor(qpalette::buttontext, qt::red);

//設定button背景色為綠色

p.setcolor(qpalette:active, qpalette::button, qt::green);

//改動後的調色盤

ui->pushbutton->setpalette(p);

//設定lineedit不可用

ui->lineedit->setdisabled(true);

qpalette p2 = ui->lineedit->palette();

//設定lineedit不可用時背景色為藍色

p2.setcolor(qpalette::disabled, qpalette::base, qt::blue);

ui->lineedit->setpalette(p2);

對於不同的qt控制項,當我們用qpalette設定其背景/前景顏色時,須要指定不同的顏色角色引數。

比方:對於qtextedit,設定其背景時要使用qpalette::base ; 對於qwidget則使用qpalette::window 。引數不匹配時。調色盤效果是不會顯示的。

Qt之設定QWidget背景色

qwidget是所有使用者介面物件的基類,這意味著可以用同樣的方法為其它子類控制項改變背景顏色。qt中視窗背景的設定,下面介紹三種方法。使用qpalette 使用style sheet 繪圖事件 一般我不用qss設定視窗背景,也不建議使用。這裡是對於視窗而,如果是子部件當然可以 因為視窗使用qss設...

Qt 設定QWidget背景色

qt設定qwidget背景顏色的方法測試了三種,推薦第一種。一 使用qpalette qpalette palette palette.setcolor qpalette background,qt yellow this setautofillbackground true this setpal...

Qt設定視窗 按鈕背景色

1 設定視窗背景色時使用如下樣式表 background image url img png bj png 使用後如果背景大小不夠會被平鋪。qpushbutton qpushbutton hover 如果視窗已設定背景,則會出現類似父視窗設定時,如果子視窗未設定相應的屬性覆蓋,則子視窗會使用父視窗對...