【QT学习】QLabel显示(动态/静态)图片

  • 欢迎各位读者:点赞 收藏 ⭐留言
  • 博客主页:https://blog.csdn.net/qq_59134387
  • 原创不易,转载请标明出处;如有错误,敬请指正批评!
  • 我不去想是否能够成功,既然选择了远方,便只顾风雨兼程!✨

文章目录

  • 前言
  • 一、QLabel显示静态图片
    • 1.添加图片到标签
    • 2.设置标签大小及位置
    • 3.完整代码
    • 4.效果展示
  • 二、QLabel显示动态图片
    • 1.具体流程
    • 2.完整代码
    • 3.效果展示
  • 总结


前言

   在使用QT制作精美的界面时,除了调整QT内部的属性参数外,还需要我们插入图片对界面进行优化。我们一般借助QLabel类进行图片插入操作,设置图片自适应标签大小,然后通过标签定位,设置标签尺寸大小间接设置图片属性,最后显示图片。


一、QLabel显示静态图片

1.添加图片到标签

我们使用QPixmap类,用来从文件中接收图片。例:QPixmap("文件路径");,具体代码如下。

	QLabel *imgLabel = new QLabel(this);				//创建标签
	imgLabel->setPixmap(QPixmap("./picture/xxx.png"));	//将图片插入标签

2.设置标签大小及位置

在设置标签大小及位置时,我们需要设置图片自适应标签大小,这样就能通过修改标签尺寸,间接修改图片尺寸

	imgLabel->setScaledContents(true);	//设置图片自适应标签大小
	imgLabel->setGeometry(0,0,550,200);	//设置标签大小及位置
/*
函数解析:
	setGeometry(x,y,w,h)函数参数分别为:x(横坐标),y(纵坐标),w(宽度),h(高度)
	imgLabel->setGeometry(0,0,550,200),可看做以下两个函数的叠加,通过替换可以达到同样的效果。
替换代码:
	imgLabel->move(0,0);			//将标签移动到(0,0)位置
	imgLabel->resize(550,200);	//设置标签大小为宽550,高200
*/

3.完整代码

以下两段代码,均能实现通过标签显示静态图片的效果。

//代码1:
	QLabel *imgLabel = new QLabel(this);				//创建标签
	imgLabel->setPixmap(QPixmap("./picture/xxx.png"));	//将图片插入标签
	imgLabel->setGeometry(0,0,550,200);					//设置标签大小及位置
	imgLabel->setScaledContents(true);					//设置图片自适应标签大小

//代码2:
	QLabel *imgLabel = new QLabel(this);				//创建标签
	imgLabel->setPixmap(QPixmap("./picture/xxx.png"));	//将图片插入标签
	imgLabel->move(0,0);								//将标签移动到(0,0)位置
	imgLabel->resize(550,200);							//设置标签大小为宽550,高200
	imgLabel->setScaledContents(true);					//设置图片自适应标签大小

4.效果展示

【QT学习】QLabel显示(动态/静态)图片_第1张图片

二、QLabel显示动态图片

1.具体流程

   接收 gif 图片 -> gif 图插入标签 -> 设置标签属性 -> 播放gif图

2.完整代码

我们使用QMovie类,用来从文件中接收 gif 图片。例:QMovie("文件路径");,具体代码如下。

	QMovie *Movie = new QMovie("./picture/logic1.gif");   	//从文件中接收gif图
	QLabel *imgLabel = new QLabel(this);					//创建标签  
	imgLabel ->setGeometry(0,0,550,200);					//设置标签大小及位置
    imgLabel ->setMovie(Movie);								//将gif图插入标签
    Movie->start();											//播放gif图,否则图片无法显示

3.效果展示

【QT学习】QLabel显示(动态/静态)图片_第2张图片


总结

   以上就是【QT学习】QLabel显示(动态/静态)图片的所有内容,希望大家阅读后都能有所收获!原创不易,转载请标明出处,若文章出现有误之处,欢迎读者留言指正批评!

你可能感兴趣的:(QT,学习整理,qt,学习,开发语言)