• 4583阅读
  • 8回复

向大家请教下关于splashscreen这个类的问题,多谢大家! [复制链接]

上一主题 下一主题
离线qiudeyezi
 
只看楼主 倒序阅读 楼主  发表于: 2009-06-22
我现在做了个QT应用,但是在QT界面启动时耗时比较久,我想用图片切换来填补这段时间,让界面启动看起来比较人性化一点。所以我选用了splashscreen这个类,语句如下:

QT版本为:qt-embeded-free-3.3.7

int main( int argc, char *argv[] )
{
QApplication app( argc, argv );
QSplashScreen *splash = new QSplashScreen( QPixmap( "/photo/3.png" ) );
splash->show();
MainWindow mainWin;
mainWin.show();
splash->finish( &mainWin );
delete splash;

return app.exec();
}

问题是在运行程序时,并没有看到splash里的图片,显示屏上只能看到一片绿色,然后就出现了主界面。但是此情况在qt-x11上却没有问题,所以想请问下,splash在qte下使用时是否要加入其它参数或者是在编译qte环境时要做某项配置,请大家帮忙指点下,多谢了!!!
离线qiudeyezi
只看该作者 1楼 发表于: 2009-06-23
没有朋友遇到过这个问题吗?
离线qiudeyezi
只看该作者 2楼 发表于: 2009-06-25
自己再顶一下
离线shiroki

只看该作者 3楼 发表于: 2009-06-25
我觉得你的代码里把splashscreen new出来再delete的方法有点问题。 因为finish不是同步的函数, 调用之后就立刻返回的, 所以等于刚显示就被delete掉了。 应该是像文档里那样用局部变量。
--
shiro is White
ki is tree
http://www.cuteqt.com
论坛 http://www.cuteqt.com/bbs
博客 http://www.cuteqt.com/blog
博客镜像: http://sites.cuteqt.com/cuteqt
Linux/Qt/嵌入式讨论群 http://qun.qq.com/air/5699823
离线qiudeyezi
只看该作者 4楼 发表于: 2009-06-26
好的  多谢指点  我试试   哈哈~~
离线qiudeyezi
只看该作者 5楼 发表于: 2009-06-26
刚刚试过了,还是不行。我把splash做成了局部变量,splash毕竟是在mainWin->show()之前就会显示的,不管怎么说应该都会看到一张图片闪过,但是从实验后的结果来看,splash应该是没有显示出来,所以我怀疑是不是在qte下要显示splash需要做某种声明或者在运行应用程序时要加某个参数?   因为同样的代码放在x11下面执行没有任何问题。版主你之前用过splash吗?可否再指点一下,多谢!
离线shiroki

只看该作者 6楼 发表于: 2009-06-26
这个我也不清楚了, 我也是仅在x11下用过。 qte没有试过。 你把别的代码都删掉, 光留个splashscreen的show, 这样能出来吗?
--
shiro is White
ki is tree
http://www.cuteqt.com
论坛 http://www.cuteqt.com/bbs
博客 http://www.cuteqt.com/blog
博客镜像: http://sites.cuteqt.com/cuteqt
Linux/Qt/嵌入式讨论群 http://qun.qq.com/air/5699823
离线qiudeyezi
只看该作者 7楼 发表于: 2009-06-26
不行  我只留了splash->show(),finish都删掉了 都不行 我觉得应该是qte库的问题  在环境编译的时候该添加的选项我都加了 库我也加了  但是还是显示不出来   我就郁闷了  不知道有没有人在qte下试过这个类  问下版主  有没有其他跟这个类相似功能的类可以替代的?
离线jotiny

只看该作者 8楼 发表于: 2009-06-26
这句代码有问题!
QSplashScreen *splash = new QSplashScreen( QPixmap( "/photo/3.png" ) );

QPixmap后面少了个冒号啊。
应该是QPixmap( ":/photo/3.png" )
快速回复
限100 字节
 
上一个 下一个