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

效果

Qt 显示图片的三种方法

三.图片自适应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();

保持宽高比

Qt 显示图片的三种方法

拉伸图片

Qt 显示图片的三种方法

上一篇:在Toast里面显示图片


下一篇:The server quit without updating PID file (data mysql.pid)