在已经使用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 #include2 #include 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):