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();
    

    保持宽高比

    这里写图片描述

    拉伸图片

    这里写图片描述

  • 相关阅读:
    java方式实现堆排序
    java方式实现归并排序
    用java方式实现快速排序
    Linux中crontab定时任务
    TCP/IP网络协议初识
    github设置添加ssh
    IDM下载工具使用
    Java程序在内存中运行详解
    GitHub的高级搜索方式
    深入理解JavaScript中的堆与栈 、浅拷贝与深拷贝
  • 原文地址:https://www.cnblogs.com/CodingUniversal/p/7500007.html
Copyright © 2011-2022 走看看