qt做启动界面

      如何用qt做启动界面,说起来也很简单。其实只需要创建一个元件dialog,然后插入一张图片背景,用一个定时器,使其在主窗口显式之前显示规定的一段时间。

      下面这里有一段代码:

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

 {

QTextCodec::setCodecForTr(QTextCodec::codecForName("GB2312"));

QApplication a(argc, argv);

QDialog dialog;                                                                //定义一个启动显示窗口

dialog.setStyleSheet(QString::fromUtf8("background-image: url(:/images/11.PNG);/n"    //插入启动窗口的图形界面

"color: rgb(0, 255, 0);/n"

"font: 75 16pt /"/345/256/213/344/275/223/";"));

dialog.setGeometry(QRect(0, 0, 500, 375));                                     / /设置启动窗口的坐标及尺寸大小

dialog.setWindowFlags(Qt::FramelessWindowHint);

Widget w;

QTimer timer;                                                   / /定时

QObject::connect(&timer, SIGNAL(timeout()), &w, SLOT(showNormal()));

QObject::connect(&timer, SIGNAL(timeout()), &dialog, SLOT(accept()));

timer.start(5000);                  / /设置时间

dialog.exec();                        //保证在主窗口显示之前启动界面退出

w.showNormal();              //启动界面结束后显示主窗口

return a.exec();

}


   启动界面的坐标调整非常重要,一般的启动界面窗口都显示在界面中央,dialog.setGeometry(QRect(100,10 0, 500, 375))是调整启动界面显示坐标位和显示窗口大小的语句。不过不知为什么,将程序移到开发板去后就不行了,不管前面两个坐标位的参数如何改变,都只能在边角显示启动界面。按我的理解,坐标的定制应该有个基准,这可能就是启动界面为什么总不能在开发板上移位的原因,不过为什么能在windows下实现移位,我就不得而知,可能是系统比开发板全面,已经设置好了也不是不可能的。

 

 

你可能感兴趣的:(qt/qtopia)