帝国网站程序,展台展厅设计,批量管理多个wordpress,成都装修公司推荐由于我之前是写java的所以在学习Qt的时候感觉会有点熟悉#xff0c;因为Qt就是 用c写#xff0c;而java底层也是c实现的 先看效果#xff1a;
一、使用QMovie
这种方式我目前是用来加载gif图的#xff0c;很简单噢#xff0c;只不过我是加载的本地的路径#xff0c;如… 由于我之前是写java的所以在学习Qt的时候感觉会有点熟悉因为Qt就是 用c写而java底层也是c实现的 先看效果
一、使用QMovie
这种方式我目前是用来加载gif图的很简单噢只不过我是加载的本地的路径如果是需要加载资源文件里面的路径我试了一下不知道为啥不成功路过知道的道友指点一下
void OnlyTest::slotTestAnim()
{QMovie *movie new QMovie(C:/Users/qc267/Desktop/pics/girl.gif);bool isResValid movie-isValid();qDebug() movie.isValid() isResValid;if(!isResValid){return;}m_anim_label-setMovie(movie);//用一个Qlable来装就行拉movie-start();//开始动画~
}二、使用样式表
这种方式就很简单咯就是循环该背景图片 void OnlyTest::initTimer(){//创建定时器testTimernew QTimer(this);resize(500,500);eventIDstartTimer(500);curIndex0;InitPixmap();//将定时器超时信号与槽练习起来QObject::connect(testTimer,SIGNAL(timeout()),this,SLOT(slotTestTimer()));
}void OnlyTest::timerEvent()
{curIndex;//图片标号加curIndex curIndex%39;repaint();
}QListQString imageResList;
void OnlyTest::InitPixmap()
{for (int i 0; i 39; i) {//获取图片资源路径arg函数将数字插入到字符串中。这个函数接受多个参数来指定插入的格式和值。//i1: 表示要插入的数字i是一个变量它的值加1。//2: 表示插入的数字的宽度为2位。如果插入的数字不足2位则在前面用0进行填充。//10: 表示插入的数字是十进制的。//QLatin1Char(0): 表示使用字符0作为填充的字符比如数字为1的时候填充后就是01。QString str QString(:/res/C:/Users/qc267/Desktop/pics/allpics/%1).arg(i1,2,10,QLatin1Char(0));qDebug()str str;imageResList.append(str);}
}void OnlyTest::slotTestTimer()
{QPushButton* m_anim_content;m_anim_content new QPushButton(,this);m_anim_content-setFixedSize(769,472);m_vboxlayout-addWidget(m_anim_content);//我是用的一个VBoxLayout来装的pushbutton直接用ui设计器来写的话就不用这步了//开始运行定时器时间间隔为1000mstestTimer-start(100);QString mUrl imageResList[curIndex];qDebug()timer running curIndex curIndexurl mUrl;QString bgUrl QString(background-image:url(%1)).arg(mUrl);m_anim_content-setStyleSheet(QString(bgUrl));timerEvent();
}