Chinaunix首页 | 论坛 | 博客
  • 博客访问: 46107
  • 博文数量: 60
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 10
  • 用 户 组: 普通用户
  • 注册时间: 2014-04-21 16:56
文章分类

全部博文(60)

文章存档

2014年(60)

我的朋友

分类: C/C++

2014-11-05 08:15:20

Qt创建程序启动画面

文档名称

Qt创建程序启动画面

创建时间

2012-9-10

修改时间

2012-9-10

创建人

Baifx

简介(收获)

QSplashScreen的使用

       QSplashScreen类提供了在程序启动过程中显示启动画面的功能。本实例实现一个出现程序启动画面的例子。

       main.cpp具体代码如下:

int main(int argc, char *argv[])

{

       QApplication a(argc, argv);

       QPixmap pixmap( ".//Resources//splash.jpg" );

       QSplashScreen splash( pixmap );

       splash.show();

       a.processEvents();

 

       StartDlg w;

       w.show();

       splash.finish( &w );

       return a.exec();

}

       启动画面主要在main()函数中实现。

       创建一个QPixmap对象,splash.jpg为启动图片;利用QPixmap对象创建一个QSplashScreen对象;调用show()函数显示此启动图片;调用processEvents()使程序再显示启动界面的同时仍能响应鼠标等其他事件;正常创建主窗体对象,并调用show()函数显示;调用QSplashScreen类的finish()函数,表示在主窗体对象初始化(构造函数)完成后,结束启动画面;然后执行主程序exec()函数。

       本例中为了使程序初始化时间加长以显示启动画面,在主窗体的构造函数中调用QTest::qWait()数(参见《在VS2010中开发Qt程序使用QTest遇到error LNK2019》),是主窗口程序在初始化时休眠几秒钟,具体代码如下:

       StartDlg::StartDlg(QWidget *parent, Qt::WFlags flags)

       : QMainWindow(parent, flags)

{

       setWindowTitle( tr( "Splash Example" ) );

 

       QTextEdit * pEdit = new QTextEdit();

       pEdit->setText( tr( "Splash example!" ) );

       setCentralWidget( pEdit );      

       resize( 600, 450 );

 

       QTest::qSleep( 3000 );

}

阅读(120) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~