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

相关推荐
敲代码的嘎仔17 小时前
JavaWeb零基础学习Day4——Maven
java·开发语言·学习·算法·maven·javaweb·学习方法
W.Buffer17 小时前
设计模式-工厂模式:解耦对象创建的设计艺术
java·开发语言·设计模式
MC皮蛋侠客17 小时前
Ubuntu禁用系统手势,阻止应用程序异常最小化
linux·运维·qt·ubuntu
梵得儿SHI17 小时前
Java 注解与反射实战:自定义注解从入门到精通
java·开发语言·注解·自定义注解·元注解·控制注解的作用·声明式编程思想
沐知全栈开发17 小时前
Foundation 网格实例
开发语言
专注前端30年18 小时前
【JavaScript】every 方法的详解与实战
开发语言·前端·javascript
feiyangqingyun18 小时前
Qt和ffmpeg结合打造gb28181推流/支持udp和tcp被动以及tcp主动三种方式
qt·udp·ffmpeg
速易达网络18 小时前
Java Web登录系统实现(不使用开发工具)
java·开发语言·前端
凡间客18 小时前
Python编程之常用模块
开发语言·python
景彡先生18 小时前
Python基础语法规范详解:缩进、注释与代码可读性
开发语言·前端·python