自学内容网 自学内容网

Qt-QLabel 添加图片并设置 GIF 图动态效果

Qt-QLabel 添加图片并设置 GIF 图动态效果

一、添加图片资源并设置图片

在这里插入图片描述
  选择标签,拖拉到界面上,然后选择器属性 picmap
在这里插入图片描述
  选择设置,在这里添加图片资源
在这里插入图片描述
  点击左边的加号符号按钮添加前缀,并设置前缀名,如果已经添加过的前缀,可以直接点击中间的符号选择图片添加图片资源,不需要的资源可以点击右边的删除按钮删除
在这里插入图片描述
  资源设置成功后,我们点击该图片资源,然后为 QLabel 控件 picmap 属性设置图片,最终效果如下:
在这里插入图片描述
  代码中我们可以调用 setPixmap(QPixmap) 方法来为 QLabel 控件设置图片,对于图片资源的路径,我们可以直接点击 资源浏览器 → 选中对应的图片 → 右键点击复制路径,也可以直接根据自己图片放的位置使用绝对或相对路径。
在这里插入图片描述

ui.label_2->setPixmap(QPixmap(QString(":/QLabel_pmx/resource/test.gif")));

这里我们会发现,我们明明为 QLabel 控件指定的 GIF 图片,但是它却是静止的,如果要设置动态效果,可以通过 QMovie 类来设置。

二、设置 GIF 动态效果

  QMovie:用于播放具有QImageReader的动画
    isValid() 检验图像数据是否有效
    start() 开始运行动态效果

  调用 QMovie需要添加头文件 QMovie,QLabel 使用 setMovie 方法调用 QMovie 对象来显示动态效果

  具体代码如下:

QLabel* qLabel = new QLabel(this);//指定其父类,在其父类中显示
//设置位置
qLabel->setGeometry(0, 0, 500, 500);
//设置背景色
qLabel->setStyleSheet("background-color:rgb(0, 0, 255)");
//添加动态图
QMovie* qMovie = new QMovie("bxg.gif");
if (qMovie->isValid()) {
    //使用 setMovie 
    qLabel->setMovie(qMovie);
    qMovie->start();//启动动画
}

  效果如下:
在这里插入图片描述

  对于 QLabel 由于它是继承 QWidget 的,所以其也可以单独作为一个界面输出,需要调用其 show() 函数

QLabel* label_custom = new QLabel();//单独界面,不需要指定显示在对应父类上
//设置其样式表
label_custom->setStyleSheet("background-color : rgb(0, 0, 255)");
//设置动态图
QMovie* mov = new QMovie("test.gif");
label_custom->setMovie(mov);//这里需要使用指针,不然被出了函数资源就没了
mov->start();//开启动画效果
label_custom->show();//如果单独显示,show()这里必须调用

原文地址:https://blog.csdn.net/m0_51005282/article/details/142320888

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!