刚才打了一大段字,不小心给其他页面覆盖了……看来 WP 的自动保存功能还是得开启……
最近有心学一下 GUI 编程,在 GTK, wxWidgets 和 QT 之间选择,最后因为 QT Designer 和喜欢 C++的缘故选择了 QT。当然 QT4 Designer 也不是那么傻瓜化的东西,有很多步骤都需要自己来完成。经过一番 Google 上的学习之后,我总算完成了一个简单的 QT 工程的创建,因此以这个工程为例,记录一下创建过程,以供参考。
项目名称:POS
主程序名:main.cpp
主窗口及 SIGNAL/SLOT 处理:POSMainWindow[.h, .cpp]
界面文件:ui_POSMainWindow.h, POSMainWindow.ui Meta Object Compiler文件:moc_POSMainWindow[.h, .cpp]
1. 新建界面配置文件(POSMainWindow.ui)
通过在 QT4 Designer 中拖拽拖拽就能生成一个基本的.ui 配置文件了。
2. 生成 ui 头文件(ui_POSMainWindow.h)
uic POSMainWindow.ui -o ui_POSMainWindow.h
3. 编写主窗口及 SIGNAL/SLOT 处理文件(POSMainWindow.h, POSMainWindow.cpp)
POSMainWindow.h
#ifndef _POSMAINWINDOW_H_
#define _POSMAINWINDOW_H_
#include
class POSMainWindow :
public QMainWindow, public Ui::POSMainWindow
{
Q_OBJECT
public:
POSMainWindow(QMainWindow *parent = 0);
public slots:
// your own slots
};
#endif /*_POSMAINWINDOW_H_*/
POSMainWindow.cpp
#include "POSMainWindow.h"
POSMainWindow::POSMainWindow(QMainWindow *parent) :
QMainWindow(parent)
{
setupUi(this);
this->show();
// connect(panel, SIGNAL(...()), this, SLOT(...()));
}
//void POSMainWindow::SLOT()
//{
// ...........
//}
4. 生成 MOC 文件(moc_POSMainWindow.h, moc_POSMainWindow.cpp)
因为自定义 SLOT 之前需要使用 Q_OBJECT 宏,而这个宏跟元对象编译器有关,因此要生成对应的 moc 文件才不至于在 link 的时候报错。
moc MainWindow.h -o moc_MainWindow.h
之后生成了两个 moc 前缀的文件。
5. 生成主程序(main.cpp)
#include "POSMainWindow.h"
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
new POSMainWindow;
return app.exec();
}
6. 生成 Makefile
qmake -project
qmake
make
7. 试试看
./POS