Qt中启动界面的设计
来源:互联网 发布:js删除一个div内容 编辑:程序博客网 时间:2024/04/28 11:43
越来越发现Qt的功能十分强大,真的是越来越喜欢它了。对于比较大的项目来说,程序启动的时候需要加载很多的模块和初始化操作,有时候可能需要很长时间,这样一来,对于用户来说可能就会有点等不及,感到不好,程序怎么起了这么长的时间。为此,很多的大型程序都做了启动界面来掩盖模块的加载。
说起启动界面的加载,主要有三种:静态图片,动态图片(gif),动画(swf)。下面就这几种做一个简单的学习。
一、静态图片的加载
静态图片的加载对于第一次学习这个来说也是非常简单的一个,基本思想就是现实一张图片,然后延时,给人的感觉就像是出现了启动界面。由于图片不好截图,就直接上代码了。
<strong> QSplashScreen splash(QPixmap(":/images/splash.png")); splash.setDisabled(true);//进制用户的输入事件相应 splash.show(); a.processEvents(); splash.showMessage(QObject::tr("数据正在加载中……"),Qt::AlignLeft |Qt::AlignBottom,Qt::black); for(int i = 0;i<200;i++) { } splash.finish(mainwow); a.exec();</strong>QsplanshScreen类是Qt自带的,需要添加头文件。此时需要将自己准备好的图片添加到资源文件里面,我的这里资源名称是images,关于建立资源文件,很简单,主需要点击“文件”----“新建文件或工程”----“Qt资源文件”,然后给个名字,将自己的图片添加到里面就行了。这里就不过多的说了。
Qt::AlignBottom,Qt::black 是现实一段提示信息,提醒用户程序正在加载中,可以设置它的字体,颜色和大小等信息。
二、动态图片的加载
首先就要准备一张动态图片了,可以自己制作,也可以下载。可以在线制作的,这个最简单了,制作一张自己喜欢的。
<strong><span style="font-size:18px;"> QMovie *move = new QMovie(":/images/splash.gif"); QLabel *label = new QLabel("",0); label->setGeometry(510,300,450,100); label->setMovie(move); move->start(); label->setWindowFlags(Qt::FramelessWindowHint);//隐藏边框 label->show(); QTime t; t.start(); while(t.elapsed() < 2000) { a.processEvents(); }</span></strong>展示我的一张开始界面,由于截图只能是静态的,我的启动时时动态的。
我的界面显示的是一张动态图片,自己制作的,就简单的做个一个。代码应该很容易看懂,就不做过多的解释。
三、动画的加载
动画的加载相对来说有点难度,需要插件,其实 也就是Qt库中的QAxWidget类。还是直接上代码
<strong><span style="font-size:18px;"> QAxWidget *flash = new QAxWidget(0,0); //QAxWidget使用的是ActiveX插件 flash->resize(600,600); //设置该控件的初始大小 flash->setControl(QString::fromUtf8("{d27cdb6e-ae6d-11cf-96b8-444553540000}")); //设定控制器 flash->dynamicCall("LoadMovie(long,string)",0,":images/flash1.swf"); // flash->setWindowFlags(Qt::FramelessWindowHint); //去除边框 flash.show(); QTime t; t.start(); while(t.elapsed()<5000) { QApplication::processEvents(); } flash.close();</span></strong>
代码看起来很清晰易懂。不用做过多的解释。
2 0
- Qt中启动界面的设计
- QT 设计启动界面
- 在QT设计界面中加入QGLWidget
- QT程序启动界面的使用
- Qt 的启动界面上添加进度条
- QT程序启动界面的使用
- Qt带进度条的启动界面
- Qt带进度条的启动界面
- qt做启动界面
- Qt做启动界面
- Qt做启动界面
- Qt设计界面的初学笔记
- QT界面布局设计
- Qt:基于Qt样式表的一个界面皮肤设计
- Android启动界面之SplashActivity的设计
- 使用QT designer 设计界面用于FreeCAD中
- QT设计程序启动时的画面
- QT中登陆界面的编写
- 快速排序的队列的实现
- 学习使用session对象实现购物车实例小结
- 关于交换a,b两数值
- 蓝桥杯训练中的考新郎问题
- 《算法竞赛入门经典》习题2-3 韩信点兵(hanxin)
- Qt中启动界面的设计
- Freescale Cyclone MAX 使用注意事项
- Gopher II UVA 10080,最后被抓的地鼠有多少只?(匈牙利算法)
- C++中extern “C”含义深层探索
- 3个月总结篇
- javascript中字符串常用操作总结、JS字符串操作大全
- 1033. To Fill or Not to Fill (25)
- mysql 批量替换表字段内容
- Unity3D第三人称无锁定视角实现