【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背景图的几种方法

相关推荐
悟能不能悟1 小时前
讲一件Java虚拟线程
java·开发语言·oracle
sjg200104141 小时前
golang学习随便记x[2,3]-字符串处理与正则表达式
开发语言·学习·golang
fictionist1 小时前
动态 Web 开发技术入门篇
java·服务器·开发语言·笔记·学习·mysql·spring
C MIKE1 小时前
ztree.js前端插件样式文字大小文字背景修改
开发语言·前端·javascript
PN杰1 小时前
Matlab解决无法读取路径中的空格
开发语言·matlab·dsp开发
Simple_core2 小时前
qt3d自定义生成mesh图形
开发语言·qt·3d
SundayBear2 小时前
适合有C基础后快速上手C++
开发语言·c++
l1o3v1e4ding2 小时前
python-docx 库教程
开发语言·python·c#
酷爱码2 小时前
Python虚拟环境与Conda的使用方式详解
开发语言·python·算法
whoarethenext3 小时前
使用 C++ 和 OpenCV 构建智能答题卡识别系统
开发语言·c++·opencv