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

相关推荐
每天吃饭的羊4 分钟前
nest,java对比
java·开发语言
sycmancia5 分钟前
Qt——登录对话框
开发语言·qt
专注VB编程开发20年5 分钟前
WebView2同时执行多个Promise异步任务性能损失1毫秒以内
开发语言
froginwe116 分钟前
Perl 目录操作指南
开发语言
架构师老Y8 分钟前
010:API网关调试手记:路由、认证与限流的那些坑
开发语言·前端·python
前端老石人8 分钟前
无障碍访问
开发语言·前端·html
软件开发技术8 分钟前
最新在线留言板系统PHP源码
开发语言·php·留言板系统php源码
Java基基8 分钟前
Maven 4要来了:15年后,Java构建工具迎来“彻底重构”
java·开发语言·重构
水云桐程序员9 分钟前
用C语言开发单片机项目的工作思路
c语言·开发语言·单片机
Yungoal10 分钟前
c++迭代器
开发语言·c++