Qt 視窗設定背景

2021-06-21 14:28:20 字數 507 閱讀 3714

1.方法一

qpalette

palette;

palette.setbrush(qpalette::background,qbrush(qpixmap(":/images/background.png").scaled(this->size())));

this->setpalette(palette);

2.方法二
this->setstylesheet("border-image:

url(:/images/background.png)");

3.方法三
void

wordwidget::paintevent(qpaintevent

*)

我用的是第一種方法,想讓背景隨視窗的大小變化而變化時,在qpixmap後面新增scaled函式,引數為本視窗的大小。

Qt 設定視窗背景

環境 qt6.0 參考 qt 設定視窗背景有三種方式 使用 qpalette 設定背景 實現 paintevent,使用 qpainter 繪製背景 使用 qss 設定。其中,使用 qss 設定視窗背景容易出現問題,原因是口使用qss設定背景之後,若子部件不使用同樣的方式來設定,預設則會繼承父視窗的...

Qt設定視窗 按鈕背景色

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

Qt設定彈出視窗背景陰影效果

通過maskwidget來實現,原理如下 1.設定要遮擋的窗體 一般是主視窗 2.設定目標視窗,並繫結該視窗的顯示事件,一旦目標顯示,陰影視窗就顯示 反則同樣 3.完成陰影效果。據觀察存在一定問題,目標視窗的父視窗問題,工作列會有兩個視窗圖示如 直接插入 maskwidget.h ifndef ma...