C++ GUI Qt4 自学笔记——Qt qmake命令

在已经使用Designer生成对话框(.ui文件)和建立main.cpp文件的情况下,可以利用qmake自动生成工程文件(.pro文件)和makefile文件,而makefile文件又能调用user interface compiler(uic),uic工具将.ui文件转换成C++代码并存储到相应的ui_***.h文件中,这里的“***”就是此前建立的对话框的名字。

本文以《C++ GUI Qt4 编程(第二版)》中第二章第三节《快速设计对话框》中的内容为例进行说明。即使没有阅读过该书,同样可以阅读并理解以下内容。

一、设计对话框并建立main.cpp

首先用Qt Designer设计一个对话框,假设对话框的名字是GotoCell,对话框保存在gotocell目录下(此例中路径:F:\GUI\gotocell),文件名为gotocelldialog.ui.

然后在同一目录下新建一个main.cpp,新建的方法很简单,只需新建一个txt文件,然后重命名为main.cpp即可,注意不可保留原来的后缀名“.txt”。然后使用你所喜欢的代码编辑器在该文件中编辑代码,本例中输入以下代码:

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

如果所建立的对话框名字不是GotoCell,在代码中相应位置做修改即可。

至此,准备工作完成,下面调用qmake。

二、调用qmake生成.ui文件和makefile文件

调用qmake需要在命令窗口中进行。命令窗口的进入:运行——输入“cmd”后按确定,弹出如下示界面:

qmake需要利用此前建立的ui文件和cpp文件,所以必须先进入这两个文件的存放目录gotocell才能使qmake正常运行,此前已说明gotocell的路径:F:\GUI\gotocell。下面讲述如何进入gotocell文件夹。

在命令窗口中输入“F:”(省去双引号,下同)后按回车,显示“F:\>”,表明已进入F盘。然后输入“cd F:\GUI\gotocell”,“cd”是进入命令,一个空格后紧接的是要进入的目录路径。回车后显示“F:\GUI\gotocell>”表明已成功进入gotocell文件夹。此时可以调用qmake。

qmake命令有不同的形式,对应不同的功能,建立工程文件.pro文件和makefile文件的命令分别是“qmake -project”和“qmake gotocell.pro”,注意第一个命令中“-”之前是有一个空格的。在命令窗口中输入“qmake -project”(也可复制粘贴),回车,然后再输入“qmake gotocell.pro”,回车。注意这两个命令的先后顺序不能互换,因为要先通过第一个命令建立工程文件gotocell.pro才可能有命令“qmake gotocell.pro”的实现。

执行以上命令后可以看到gotocell目录下多了几个文件(原来只有main.cpp和gotocelldialog.ui):

但是我们的工作尚未完成,因为头文件还没有建立。我们需要继续在命令窗口中执行make命令。在命令窗口中输入“make”后按回车即可。注意如果此前已经关闭了命令窗口,此时就需要重新进入gotocell目录,才能执行make命令。
窗口显示信息如下:
在gotocell目录中,可以看到新增了一个文件:ui_gotocelldialog.h。至此,qmake的使命完成。
需要说明的是,使用Qt Creator打开pro文件时,可能发现ui_gotocelldialog.h并没有加入到工程当中:
如图,并无“Header”。此时可以手动添加,鼠标右键点击“gotocell”,选择“Add Existing Files”,然后找到ui_gotocelldialog即可。
 
完。
2013-03-05  20:25:41
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值