歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Qt在Ubuntu下開發

安裝好Qt後可以在Shell中輸入

第一步 $designer    #調出設計器

第二步 進行窗口設計工作

窗體為HelloDialog保存窗體為Hello目錄下hellodialog.ui。

第三步 源程序對ui的調用

在Hello目錄下新建一main.cpp文件,

  1. #include <QApplication>   
  2. #include <QDialog>   
  3.   
  4. #include "ui_hellodialog.h"   
  5.   
  6. int main(int argc,char *argv[])  
  7. {  
  8.     QApplication app(argc,argv);  
  9.       
  10.     Ui::HelloDialog ui;  
  11.     QDialog *dialog=new QDialog;  
  12.     ui.setupUi(dialog);  
  13.     dialog->show();  
  14.     
  15.     return app.exec();  
  16. }  

第四步 $qmake -project  #生成pro文件

shell進入到hello目錄,

$qmake -project  #生成hello.pro

第五步 $qmake -hello.pro生成makefile文件

$qmake -hello.pro#生成makefile文件

qmake工具非常智能,可以自動檢測到用戶界面文件hellodialog.ui並且可以生成適當的makefile規則來調用Qt的用戶界面編譯器(user interface compiler,uic)。

uic工具會將hellodialog.ui文件轉換成C++並且將轉換結果存儲在ui_hellodialog.h文件中。

生成的ui_hellodialog.h文件中包含了類Ui::HelloDialog的定義,該類是一個與hellodialog.ui等價的c++文件。這個類聲明了一些成員變量,存儲著窗體中的子窗口部件和布局,www.linuxidc.com以及用於初始化窗體的setupUi( )函數。生成的類如下所示

  1. class Ui::HelloDialog  
  2. {  
  3.  public:  
  4.     QLabel *label;  
  5.     QLineEdit *lineEdit;  
  6.     QSpacerItem* spacerItem;  
  7.     QPushButton *okButton;  
  8.     ....  
  9.     void setupUi(QWidget *widget){  
  10.     ...  
  11.     }  
  12. };  

生成的類沒有任何基類,main中調用該窗體時,可以創建一個QDialog對象,然後把它傳遞給setupUi()函數。

第六步 $make     #在當前目錄下生成hello程序

第七步 $./hello   #運行hello程序

$qtdemo查看qt的演示程序

$assistant打開qt的文檔

$make編譯qt,生成qt庫,同時編譯所有的演示程序、示例程序和工具軟件,某些系統中成為gmake命令。

內置的qt編譯工具為qmake。開源的IDE軟件有KDevelop和QDevelop,我這裡裝的是(QDevelop),他們都是用Qt編寫的,並且為Qt開發提供了良好的支持。

qmake可以使用與平台無關的.pro文件生成與平台相關的makefile文件。

工程文件三種類型:app(單獨的應用程序)/lib(靜態和動態庫)/subdirs(遞歸編譯),工程文件類型使用TEMPLATE變量指定

TEMPLATE=lib

subdirs模板可以用來編譯子目錄裡的目標文件。除TEMPLATE=subdirs外,還需指定SUBDIRS變量。在每個子目錄中,qmake會搜徐以目錄名命名的.pro文件,並且會編譯該工程。

要生成工程文件hello.pro的makefile,可以輸入qmake hello.pro,

之後可以調用make或nmake編譯工程。

也可以使用-project參數在當前目錄下使用qmake生成.pro文件,

e.g. qmake -project

這種模式下,qmake將搜索當前目錄下已知擴展名(.h.、.cpp、.ui,等等)的文件,生成一個列舉這些文件的.pro文件。

Copyright © Linux教程網 All Rights Reserved