快速開發(fā)交叉編譯之Qt Designer
Qt Designer為程序員提供了可視化的設(shè)計(jì)能力,可用于開發(fā)應(yīng)用程序中的所有或者部分窗體。交叉編譯呢,簡單地說,就是在一個平臺上生成另一個平臺上的可執(zhí)行代碼。這里需要注意的是所謂平臺,實(shí)際上包含兩個概念:體系結(jié)構(gòu)(Architecture)、操作系統(tǒng)(Operating System)。同一個體系結(jié)構(gòu)可以運(yùn)行不同的操作系統(tǒng);同樣,同一個操作系統(tǒng)也可以在不同的體系結(jié)構(gòu)上運(yùn)行。
本文在移植好了Qt交叉編譯環(huán)境和移植環(huán)境的基礎(chǔ)上,對qt Designer與手工代碼整合的方式做以下說明。(并不涉及qt Designer的操作)
在終端中輸入:Designer。就會出現(xiàn)qt設(shè)計(jì)師的界面。我們默認(rèn)創(chuàng)建一個。并稍微加上一些控件,最終效果如圖。
我們將其保存為hello.ui.比如保存到/home目錄下,那么我們在/home目錄創(chuàng)建一個main.cpp文件,代碼如下:
- #include <QApplication>
- #include <QDialog>
- #include "ui_hello.h" #注意這里一定要和ui文件的名稱對應(yīng),會自動生成ui_hello.h文件
- int main(int argc ,char *argv[])
- {
- QApplication app(argc,argv);
- Ui::GoToCellDialog ui;
- QDialog *dialog = new QDialog;
- ui.setupUi(dialog);
- dialog->show();
- return app.exec();
- }
完成之后,我們在終端中進(jìn)入/home目錄,執(zhí)行:
- qte-x86-make -project
會發(fā)現(xiàn)在當(dāng)前目錄生成了一個qt.pro文件。
繼續(xù)執(zhí)行
- qte-x86-make qt.pro
會發(fā)現(xiàn)在當(dāng)前目錄生成了Makfile,繼續(xù)執(zhí)行make即可生成可執(zhí)行文件hello。最終生成如圖這些文件。
在終端中執(zhí)行:qvfb & 繼續(xù)執(zhí)行:./qt -qws。效果如下:
那么我們使用qte-arm-make,照著上面的步驟生成的可執(zhí)行文件也可以在mini2440的linux環(huán)境中執(zhí)行,效果和上圖一樣。
原理:實(shí)際上,qmake工具會自動檢測用戶界面文件hello.ui,并且可以生成適當(dāng)?shù)膍akefile規(guī)則來調(diào)用Qt的用戶界面編譯器UIC。UIC工具會將hello.ui文件轉(zhuǎn)換成C++并且將轉(zhuǎn)換結(jié)果存儲在ui_hello.h文件中。ui_hello.h包好了圖形資源的一些定義。
以上內(nèi)容講述的是如何使用Qt Designer快速開發(fā)交叉編譯環(huán)境下以及mini2440的QT程序的界面窗體,不過實(shí)現(xiàn)對效果還是蠻好的,希望能幫助你解決問題。
【編輯推薦】