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下實現移位,我就不得而知,可能是系統比開發板全面,已經設置好了也不是不可能的