以建立工程名为sjw为例:
(sjw.h)
#ifndef SJW_H #define SJW_H
#include <QMainWindow>
namespace Ui { class sjw; }
class sjw : public QMainWindow { Q_OBJECT
public: explicit sjw(QWidget *parent = 0); ~sjw();
private: Ui::sjw *ui; };
#endif // SJW_H
(sjw.cpp)
#include "sjw.h" #include "ui_sjw.h"
sjw::sjw(QWidget *parent)
:QMainWindow(parent), // 基类QMainWindow的构造函数
ui(new Ui::sjw) //sjw的执针ui(私有成员)指向基类Ui::sjw的空间大小
{
ui->setupUi(this); //该构造函数把指针ui指向基类Ui::sjw的函数setupUi(this)
}
sjw::~sjw()
{
delete ui; //释放指向基类Ui::sjw的空间
}
(main.cpp)
#include <QtGui/QApplication>
#include "sjw.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
sjw w;
w.show();
return a.exec();
}
(sjw.ui)
通过拖动控件实现的定义与布局;
在ui-sjw.h中会生成对应的定义。
最后的信号与槽或槽函数的定义是由自己定义的。