《QT---SDK自动生成代码解析》

936 词

一般情况,任何一个SDK开工具,在创建一个工程后,都会自动的生成一些自动代码,而之后的工作,就是在这一套自动生成的东西上,完成我们的后续工作,很好的理解SDK自动生成的东西,更便于我们后续的开发工作,可以起到事半功倍的效果,可以类推扩展出很多外延的知识,更便于之后对整个工具的快速学习理解。

传统的一些教程都是step by step的方式,这种方式对有没有基础概念的人来说,可以很好的达成他们想做出东西的目标,问题是在不了解框架机制的前提下跟着做,只能是照猫画虎,不能举一反三。

网上是不是,有很多的蛇精病教程让你苦恼那?那好吧,我们来写一个。
首先,QT在创建一个工程之后,她的目录结构是这样的。

主要的文件类型有:.pro .h .cpp .ui
.pro 文件: 简单说,这个就是整个C++工程的makefile文件,遵循的是QMakefile的语法规则,好普通的makefile语法类似。

.cpp 文件: SDK一共会生成两个.cpp 文件,main.cpp和mainwindow.cp, main.cpp是整个工程主函数的文件, mainwindow.cpp 就是用户自定义的窗体类。

.UI 文件: 此文件是一个描述UI控件信息的XML文件,QT Designer就是把用户绘制的窗体控件的信息,保存到这个XML文件中。在工程编译之后,就会把XML形式的窗体信息,转换成C++语法内容的.h 文件。

整个工程中以MainWindow这个类为中心,开始设计用户的UI程序,下面是MainWindowl.cpp代码。

[code]
#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
Q_OBJECT

public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
signals:
void refresh();
public slots:
void update();
void clicked();
private:
Ui::MainWindow *ui;
};

#endif // MAINWINDOW_H

[/code]