1).设置环境变量
PATH = D:\Qt\4.1.1\bin
QMAKESPEC = win32-msvc
然后打开一个命令窗口(如果在设置环境变量之前已经打开,需要关闭重新打开,因为刚才环境变量不起作用),检查一下设置是否正确:
C:\> qmake -v
QMake version 2.01a
Using Qt version 4.3.2 in D:\Qt\4.3.2\lib
C:\> echo %QMAKESPEC%
win32-msvc
2).建立一个目录,就是打算放置源代码的位置,在这个目录下面创建文件,名为hello.cpp,输入如下代码:
#include <QApplication>
#include <QLabel>
int main(int argc, char **argv)
{
QApplication app(argc, argv);
QLabel *label = new QLabel("Hello World!");
label->show();
return app.exec();
}
#include <QLabel>
int main(int argc, char **argv)
{
QApplication app(argc, argv);
QLabel *label = new QLabel("Hello World!");
label->show();
return app.exec();
}
3).编译代码 在这个目录下面,键入"qmake -project -o hello.pro",产生Qt的工程文件.
然后,键入"qmake",产生Makefile文件.
键入"nmake",编译Makefile文件.
编译好的可执行文件,在debug或release目录下面.
2.通过designer.exe来设计界面
1).通过designer创建一个对话框,保存在工程目录下面,取名为hello.ui
2).创建hello.h文件,代码为:
#include <QApplication>
#include <QDialog>
#include "ui_hello.h"
class HelloForm : public QDialog, public Ui::Dialog
{
Q_OBJECT
public:
HelloForm(QWidget * parent = 0);
};
#include <QDialog>
#include "ui_hello.h"
class HelloForm : public QDialog, public Ui::Dialog
{
Q_OBJECT
public:
HelloForm(QWidget * parent = 0);
};
3).创建hello.cpp文件,代码为:
#include "hello.h"
HelloForm::HelloForm(QWidget *parent)
: QDialog(parent)
{
setupUi(this);
}
int main(int argc, char **argv)
{
QApplication app(argc, argv);
HelloForm *form = new HelloForm();
form->show();
return app.exec();
}
HelloForm::HelloForm(QWidget *parent)
: QDialog(parent)
{
setupUi(this);
}
int main(int argc, char **argv)
{
QApplication app(argc, argv);
HelloForm *form = new HelloForm();
form->show();
return app.exec();
}
4).按照下面的顺序编译运行:
qmake -project -o hello.pro
qmake
nmake
./debug/hello.exe
注意:含有Qt界面的C++类声明不能在.cpp文件中完成,否则会出现连接不过的情况(moc好像不能正确处理cpp文件里面的类声明)。
还有另一种加载ui的方法:
hello.h内容如下:
#include <QApplication>
#include <QDialog>
#include "ui_hello.h"
class HelloForm : public QDialog//, public Ui::Dialog
{
Q_OBJECT
public:
HelloForm(QWidget * parent = 0);
private:
Ui::Dialog ui;
};
#include <QDialog>
#include "ui_hello.h"
class HelloForm : public QDialog//, public Ui::Dialog
{
Q_OBJECT
public:
HelloForm(QWidget * parent = 0);
private:
Ui::Dialog ui;
};
#include "hello.h"
HelloForm::HelloForm(QWidget *parent)
: QDialog(parent)
{
ui.setupUi(this);
// setupUi(this);
}
int main(int argc, char **argv) {
QApplication app(argc, argv);
HelloForm *form = new HelloForm();
form->show();
return app.exec();
}
HelloForm::HelloForm(QWidget *parent)
: QDialog(parent)
{
ui.setupUi(this);
// setupUi(this);
}
int main(int argc, char **argv) {
QApplication app(argc, argv);
HelloForm *form = new HelloForm();
form->show();
return app.exec();
}
产生工程的时候,通过命令“qmake -tp vc -o hello.dsp hello.pro”来产生,这时候,就在目录下面生成了"hello.dsp"的VC工程文件。
用VC的IDE就打开就可以编译运行了。