1. 方法1(paintEvent方式)
使用paintEvent()
實現
1. .h
文件中添加虛函數
protected:void paintEvent(QPaintEvent *event) override;
- 添加虛函數方法:
- 選中父類,點擊鼠標右鍵
- 點擊
重構
- 點擊
Insert Virtual Funtion of Base Classes
2. .c
文件實現
void M_LoginDlg::paintEvent(QPaintEvent *event)
{Q_UNUSED(event)QPainter painter(this);painter.setRenderHint(QPainter::Antialiasing);painter.drawPixmap(rect(), QPixmap(":/Img/Img/loginBg.jpg"));
}
3. 效果
4. 備注
- 圖片適應組件的尺寸
2. 方法2(.ui中實現)
1. 實現
2. 效果
3.問題
- 此方式中顯示的背景是圖片原始大小,當組件尺寸大于圖片時,背景圖片是重復的
參考
-
Qt中正確的設置窗體的背景圖片的幾種方式
-
設置QWidget背景圖的幾種方法