zoukankan      html  css  js  c++  java
  • 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();
    

    保持宽高比

    这里写图片描述

    拉伸图片

    这里写图片描述

  • 相关阅读:
    Linux查看系统版本信息和设置远程终端登录
    Linux环境下安装JDK
    Windows10修改Tomcat服务端口和一台机器部署多个Tomcat
    [转]C#反射-Assembly.Load、LoadFrom与LoadFile进阶
    【转】C# lock的使用
    一个简单的C++程序及说明
    插入排序
    堆排序
    选择排序
    快速排序
  • 原文地址:https://www.cnblogs.com/CodingUniversal/p/7500007.html
Copyright © 2011-2022 走看看