QLabel概念:
在Qt中,QLabel类用于文本或图片(包括动图gif)的显示,并不提供用户交互功能。
下面总结一下QLabel的常用场景。
一、在界面显示与获取文本:
ui->label->setText("hello qt"); //设置文本
ui->label->text(); //获取文本
二、在界面显示图片:
一、使用QImage。绝对路径方式
QImage *image=new QImage;
image->load("G:/Qt_coding/QLabelTest/1.png"); //绝对路径
//image->load("G:\\Qt_coding\\QLabelTest\\1.png"); //绝对路径的另一种方式
ui->label->setPixmap(QPixmap::fromImage(*image));
二、使用QPixmap 当前路径和相对路径方式
QPixmap *photo=new QPixmap;
photo->load("./test.png"); //表示当前路径 注意Qt的当前路径在exe的上一层目录 不是代码文件的文件夹 这里和C++不一样,
//photo->load("./../image/1.png"); //相对路径方式 ./可以忽略
ui->label->setPixmap(*photo);
//图片自适应label大小
ui->label->setScaledContents(true);
//修改label大小
ui->label->resize(200,300);
三、使用QMovie显示gif
movie.setFileName("G:/Qt_coding/QLabelTest/3.gif"); //已经在类中声明了movie
ui->label->setMovie(&movie);
movie.start();
如果使用QImage或者QPixmap显示gif,图片是动不了的。
这里通过start()函数来播放gif动画。可以通过stop()停止gir的播放,或者使用setPaused(bool),设置为true用来暂停动画的播放,false恢复播放。