免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4404 | 回复: 0

Qt里使用QSplashScreen类制作Splash启动窗口 [复制链接]

论坛徽章:
0
发表于 2011-02-10 10:46 |显示全部楼层
[代码] cpp代码
  1. #include <QtGui/QtGui>
  2. #include <QtGui/QPixmap>
  3. #include <QtGui/QSplashScreen>
  4. #include "ui_browser.h"

  5. int main(int argc, char **argv)
  6. {
  7.   QApplication app(argc, argv);

  8.   QPixmap pixmap("splash.png");
  9.     QSplashScreen *splash = new QSplashScreen(pixmap);
  10.     splash->show();

  11.   QMainWindow *form = new QMainWindow;
  12.   Ui::MainWindow ui;
  13.   ui.setupUi(form);
  14.   ui.textBrowser->setSource(QString("files:///C:/Qt/4.1.2/doc/html/index.html"));
  15.   form->show();

  16.   splash->finish(form);
  17.     delete splash;

  18.   return app.exec();
  19. }
复制代码
而采用计时器来控制显示时间的话,可用下面方法自己制作SplashWindow:
  1. #include <QtGui/QtGui>
  2. #include <QtGui/QDialog>
  3. #include <QtCore/QTimer>
  4. #include "ui_browser.h"

  5. int main(int argc, char **argv)
  6. {
  7.   QApplication app(argc, argv);

  8.   QDialog dialog;

  9.   QMainWindow *form = new QMainWindow;
  10.   Ui::MainWindow ui;
  11.   ui.setupUi(form);
  12.   ui.textBrowser->setSource(QString("files:///C:/Qt/4.1.2/doc/html/index.html"));

  13.   QTimer timer;
  14.   QObject::connect(&timer, SIGNAL(timeout()), form, SLOT(show()));
  15.   QObject::connect(&timer, SIGNAL(timeout()), &dialog, SLOT(accept()));
  16.   timer.start(10000);
  17.   dialog.exec();

  18.   return app.exec();
  19. }
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP