【QT】QT从零入门教程(七):图像适应窗口

  在第5节里,我们讲解了初始化图像框QLabel的方法,用于显示图像。在第6节里,运用QDockWidget实现了基本窗口布局。在显示图像时,如果打开比QLabel大的图像,会自动出现滚动条。这样能保证图像完整地显示在窗口中,通过滚动条可以查看整张图像。

  同时也带来了问题,因为现在手机相机的像素都很高,随随便便打开一张图像,都会超出软件的窗口大小,显示部分可能只是冰山一角,对图像进行查看或是操作都很麻烦。


铺满窗口与自适应窗口

  基于这个问题,提出了一个简单粗暴的解决方法。需要声明的是,这里实现的效果主要是用于学习而不是实际工作,对图像的操作也主要用于学习图像处理的各模块,所以允许图像出现失真情况,即图像在适应窗口的过程中更改了原本大小,造成了图像失真。如果需要高精度,那这个方法就不适合了。

  以工具栏为例,创建两个按钮,一个“铺满窗口”,一个“自适应窗口”。顾名思义,前者是将图像铺满整个窗口,可能造成图像变形不协调,后者是保持图像原宽高比,进行缩放,自适应窗口大小。

  首先确定思路,创建一个新的工具栏和两个按钮,给两个按钮添加相应槽函数。

// 这里只是个示范,仅是界面效果,可自行更改为其他控件,槽函数才是核心。
QPushButton *button_full = new QPushButton(tr("铺满窗口"));     // 创建按钮
  • 7
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值