【Qt】Qt组件设置背景图片

1. 方法1(paintEvent方式)

使用paintEvent()实现

1. .h文件中添加虚函数

c 复制代码
protected:
	void paintEvent(QPaintEvent *event) override;
  • 添加虚函数方法:
    • 选中父类,点击鼠标右键
    • 点击重构
    • 点击 Insert Virtual Funtion of Base Classes

2. .c文件实现

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.问题

  • 此方式中显示的背景是图片原始大小,当组件尺寸大于图片时,背景图片是重复的

参考

  1. Qt中正确的设置窗体的背景图片的几种方式

  2. 设置QWidget背景图的几种方法

相关推荐
MediaTea1 小时前
Python IDE:Spyder
开发语言·ide·python
不枯石2 小时前
Matlab通过GUI实现点云的均值滤波(附最简版)
开发语言·图像处理·算法·计算机视觉·matlab·均值算法
不枯石2 小时前
Matlab通过GUI实现点云的双边(Bilateral)滤波(附最简版)
开发语言·图像处理·算法·计算机视觉·matlab
二十雨辰3 小时前
vite如何处理项目中的资源
开发语言·javascript
海涛高软3 小时前
qt使用opencv的imread读取图像为空
qt·opencv·webpack
聆风吟º3 小时前
远程录制新体验:Bililive-go与cpolar的无缝协作
开发语言·后端·golang
豆浆whisky4 小时前
netpoll性能调优:Go网络编程的隐藏利器|Go语言进阶(8)
开发语言·网络·后端·golang·go
蓝天白云下遛狗4 小时前
go环境的安装
开发语言·后端·golang
CAir24 小时前
go协程的前世今生
开发语言·golang·协程
@大迁世界4 小时前
Go 会成为“老生态”的新引擎吗?
开发语言·后端·golang