一.
直接用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();
保持宽高比
拉伸图片