Qt 显示图片的三种方法

一.
直接用QLabel显示原图

   //单独显示的QLabel 其大小为内容即图片的大小,若将QLabel放入QMainWindow中则QLabel的大小为其初始大小。

    /*
    QLabel *label=new QLabel();
    QImage image("/home/ws/Pictures/cat.png");
    label->setPixmap(QPixmap::fromImage(image));
    label->show();
    */

二.给图片添加滚动条

//在QMainWindow中添加一个QScrollArea,再在QScrollArea中添加QLabel
    //用来滚动查看图片,
    //最好用代码创建,用Qtdesigner可能无法达到目的
    /*
    QMainWindow mw;

    QLabel *label=new QLabel();
    QImage image("/home/ws/Pictures/cat.png");
    label->setPixmap(QPixmap::fromImage(image));

    QScrollArea *sa=new QScrollArea(&mw);
    sa->setWidget(label);
    sa->resize(400,400);
    mw.show();
    */

效果
这里写图片描述
三.图片自适应QLabel的大小

 //指定QLabel的大小,并让图片自适应QLabel的大小
    //scaled函数可以将图片进行缩放,第一个参数是缩放后的大小,第二个参数
    //可以保持图片宽高比,在本例中label大小为400,400,宽高比为1:1,加上该参数后
    //由于原图不是1:1所以在400,400的显示区域中,并不会完全填满。若不带该参数,则会拉伸图片
    //并填满该区域
    QMainWindow mw;

    QLabel *label=new QLabel(&mw);
    label->resize(400,400);

    QPixmap pix("/home/ws/Pictures/cat.png");
    QPixmap dest=pix.scaled(label->size(),Qt::KeepAspectRatio);

    label->setPixmap(dest);
    mw.show();

保持宽高比

这里写图片描述

拉伸图片

这里写图片描述

转载于:https://www.cnblogs.com/CodingUniversal/p/7500007.html

  • 5
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值