工具:Qt5.6.1 VS2017 语言:C++
在网上找了几个设置Qt开头动画的案例,都是设置一张图或者一个.gif文件,又或者用多个QSplashscreen。
本着自己想随意更换图像顺序或者动画内容,在Qt说明手册找到一个方法。QSplashscreen setPixmap设置显示的图像。
自己现在.qrc文件内放入提前编号文件名的图像,按照图像名顺序播放,建议1.png、2.png。。。名命。
在main方法中定义:
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QString src = ":/screen/gif/";
QString png = ".png";
QPixmap logo(src + QString::number(1) + png);
QSplashScreen screen(logo);
screen.show();
//设置每张图像显示时间
float delayTime = 0.25;
//循环播放图像
for (int i = 1; i < 8; i++)
{
//加载新的图像
logo.load(src + QString::number(i) + png);
//更替图像
screen.setPixmap(logo);
//设置定时
QElapsedTimer timer;
timer.start();
while (timer.elapsed() < (delayTime * 1000))
{
a.processEvents();
}
}
screen.hide();
MyWidget w;
w.show();
return a.exec();
}
本文介绍如何使用Qt的QSplashScreen在C++中通过指定.qrc文件中预先编号的图片,实现按顺序播放动画,无需外部文件。通过循环加载和更换图片,并设置延迟时间来控制动画效果。
8972

被折叠的 条评论
为什么被折叠?



