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.bkjia.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文件。

相关内容