QT启动画面不显示的原因?

我鲁班无敌 2013-07-11 10:50:54
同样的代码,我在自己电脑上4.6.1的qt就可以显示启动画面,但是在4.8.0的qt就不显示,为什么啊?很纠结啊,
...全文
611 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
_Gx 2013-07-14
  • 打赏
  • 举报
回复
引用 10 楼 xuebijishui 的回复:
QT启动画面,定制延迟时钟 QSplashScreensplash(QPixmap("splash.png")); splash.setDisabled(true); splash.show(); sleep s; //声明我定义的使时钟对象,因为我是在构造函数里定义的延迟。希望大家原谅我的代码的不规范 qApp->processEvents();//显示信息 qDebug()<<1; //用来做测试用的 splash.showMessage(QObject::tr("启动中..."), Qt::AlignLeft|Qt::AlignBottom,Qt::green); sleep d; qApp->processEvents(); //创建窗口 MainWindow w; qDebug()<<2;splash.showMessage(QObject::tr("加载内存...."), Qt::AlignLeft|Qt::AlignBottom,Qt::green); sleep b; qApp->processEvents();qDebug()<<3; w.show(); splash.finish(&w); #include"sleep.h" //头文件 #ifndefSLEEP_H#defineSLEEP_H#include<QObject>#include<QTimer>#include<QDebug>classsleep:public QObject{Q_OBJECTpublic:explicit sleep(QObject*parent=0);QTimer *time;int i;signals:publicslots:void slot();};#endif//SLEEP_H继承什么不重要。sleep.cpp#include"sleep.h"#include<QtGui/QApplication>sleep::sleep(QObject*parent):QObject(parent){time=newQTimer(this);connect(time,SIGNAL(timeout()),this,SLOT(slot()));i=3; time->start(1000);while(i){qApp->processEvents(); //这句很重要,他是主要分配事件的函数,所有的事件都在这里处理,在无限循环的时候不断的调用它,可以 // 避免程序无法响应,另一方面让定时器可以正常工作 这里是3s的延迟。}}voidsleep::slot(){i--;}
这代码能看吗?排版一下
晋晔 2013-07-14
  • 打赏
  • 举报
回复
QT启动画面,定制延迟时钟 QSplashScreensplash(QPixmap("splash.png")); splash.setDisabled(true); splash.show(); sleep s; //声明我定义的使时钟对象,因为我是在构造函数里定义的延迟。希望大家原谅我的代码的不规范 qApp->processEvents();//显示信息 qDebug()<<1; //用来做测试用的 splash.showMessage(QObject::tr("启动中..."), Qt::AlignLeft|Qt::AlignBottom,Qt::green); sleep d; qApp->processEvents(); //创建窗口 MainWindow w; qDebug()<<2;splash.showMessage(QObject::tr("加载内存...."), Qt::AlignLeft|Qt::AlignBottom,Qt::green); sleep b; qApp->processEvents();qDebug()<<3; w.show(); splash.finish(&w); #include"sleep.h" //头文件 #ifndefSLEEP_H#defineSLEEP_H#include<QObject>#include<QTimer>#include<QDebug>classsleep:public QObject{Q_OBJECTpublic:explicit sleep(QObject*parent=0);QTimer *time;int i;signals:publicslots:void slot();};#endif//SLEEP_H继承什么不重要。sleep.cpp#include"sleep.h"#include<QtGui/QApplication>sleep::sleep(QObject*parent):QObject(parent){time=newQTimer(this);connect(time,SIGNAL(timeout()),this,SLOT(slot()));i=3; time->start(1000);while(i){qApp->processEvents(); //这句很重要,他是主要分配事件的函数,所有的事件都在这里处理,在无限循环的时候不断的调用它,可以 // 避免程序无法响应,另一方面让定时器可以正常工作 这里是3s的延迟。}}voidsleep::slot(){i--;}
仙人的板板 2013-07-11
  • 打赏
  • 举报
回复
我想到的是你图片路径对了么, 试下用绝对路径.
我鲁班无敌 2013-07-11
  • 打赏
  • 举报
回复
引用 1 楼 q245879 的回复:
有报错么? 代码贴起来。
没有报错。 #include <QtGui/QApplication> #include "dialog.h" #include <QSplashScreen> #include <QPixmap> int main(int argc, char *argv[]) { QApplication a(argc, argv); QPixmap pixmap("./lol.png"); QSplashScreen splash(pixmap); splash.show(); a.processEvents(); Dialog w; w.show(); return a.exec(); }
_Gx 2013-07-11
  • 打赏
  • 举报
回复
有报错么? 代码贴起来。
zhxianbin 2013-07-11
  • 打赏
  • 举报
回复
我遇到过 用png图片 最后会报一句错误,bmp的没事。
xcyl 2013-07-11
  • 打赏
  • 举报
回复
引用 7 楼 z601316152 的回复:
都对,是图片的问题。我换了1个图片就都可以显示了。代码没改,路径也没改。但是我图片能有什么问题呢???大家讨论下
建议你把以前那张图片放在资源文件里再试试
我鲁班无敌 2013-07-11
  • 打赏
  • 举报
回复
都对,是图片的问题。我换了1个图片就都可以显示了。代码没改,路径也没改。但是我图片能有什么问题呢???大家讨论下
xcyl 2013-07-11
  • 打赏
  • 举报
回复
引用 5 楼 z601316152 的回复:
[quote=引用 4 楼 cai6811376 的回复:]

#include <QtGui/QApplication>
#include "dialog.h"
#include <QSplashScreen>
#include <QPixmap>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    QPixmap pixmap("./lol.png");
    QSplashScreen splash(pixmap);
    splash.show();
    app.processEvents();
    Dialog a;
    a.show();
    splash.finish(&a);
    return app.exec();
}
你表达什么?[/quote] 没看出来改了你的代码?
我鲁班无敌 2013-07-11
  • 打赏
  • 举报
回复
引用 4 楼 cai6811376 的回复:

#include <QtGui/QApplication>
#include "dialog.h"
#include <QSplashScreen>
#include <QPixmap>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    QPixmap pixmap("./lol.png");
    QSplashScreen splash(pixmap);
    splash.show();
    app.processEvents();
    Dialog a;
    a.show();
    splash.finish(&a);
    return app.exec();
}
你表达什么?
xcyl 2013-07-11
  • 打赏
  • 举报
回复

#include <QtGui/QApplication>
#include "dialog.h"
#include <QSplashScreen>
#include <QPixmap>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    QPixmap pixmap("./lol.png");
    QSplashScreen splash(pixmap);
    splash.show();
    app.processEvents();
    Dialog a;
    a.show();
    splash.finish(&a);
    return app.exec();
}

16,173

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧