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

相关推荐
wuk998几秒前
matlab为地图进行四色着色
开发语言·matlab
_MyFavorite_1 分钟前
cl报错+安装 Microsoft Visual C++ Build Tools
开发语言·c++·microsoft
charlie1145141912 分钟前
现代嵌入式C++教程:C++98——从C向C++的演化(2)
c语言·开发语言·c++·学习·嵌入式·教程·现代c++
zmzb01036 分钟前
C++课后习题训练记录Day55
开发语言·c++
李白同学9 分钟前
C++:继承
开发语言·c++
k***92169 分钟前
【C++】STL详解(九)—priority_queue的使用与模拟实现
开发语言·c++
速易达网络22 分钟前
基于Java TCP 聊天室
java·开发语言·tcp/ip
Hard but lovely42 分钟前
C++11: 自定义异常&&标准异常体系&&回顾c异常处理方式
开发语言·c++
六bring个六1 小时前
文件压缩处理(一)
开发语言·c#
Chrikk1 小时前
现代化 C++ 工程构建:CMake 与包管理器的依赖治理
开发语言·c++