qt 图片适应窗口_Qt图片自适应窗口控件大小

本文介绍了如何在Qt中实现图片随着窗口大小自动调整的解决方案。通过在窗口中添加一个QWidget,设置其布局,并在QLabel中使用setScaledContents(true)来自动缩放图片,再结合窗口重绘事件调整QLabel大小,从而实现图片自适应窗口的效果。这种方法避免了直接使用QLabel布局管理器导致的问题,确保了窗口大小调整的灵活性。
摘要由CSDN通过智能技术生成

[    如果要改变窗体的大小,它内部的控件一般不随它的变化而变化,内部部件怎么随窗体的大小而改变自身的大小呢?这里我们一般可以对窗口整体进行布局,我们要用到Layout

最近在用Qt设计一个小程序,

想让一幅图片自适应窗口大小,由于本人比较笨,一直找不到好方法。

找到了很多方法但都会出一些小问题,

刚刚摸索出解决办法了,在些记录。

思想:

1 显示图像是用QLabel

2 在QWidget或其他窗口部件上显示(也可直接显示在窗口上,后面会说明为什么不)

现在问题就明朗了,主要就是调整QLabel大小随窗口大小自动变化。

使用方法:

1 在要显示的窗口放置一个QWidget,并使用用布局管理器(以便窗口可以规范布局)

2 在QWidget内放置QLabel ,位置为左上角,不使用任何布局管理器

3 在构造函数内添加如下代码: ui->label->setScaledContents(true);

4 编辑界面重绘函数,加入如下代码: ui->label->resize(ui->widget->size());

即可。

原理明:

当我们调整窗口使其变化时,paintEvent 函数自动被调用执行,

执行 ui->label->resize(ui->widget->size());语句为:设置label大小为widget大小。

而ui->label->setScaledContents(true)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值