1.方法一
qpalettepalette;
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.方法三
voidwordwidget::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...