#include "mywindow.h"
#include <QApplication>
//main.c 程序入口库
int main(int argc, char *argv[])
{
//argc 命令行参数个数 arggv 命令行参数 ex:ls -a
// QApplication a(argc, argv);管理Qt程序的运行,设置Qt应用程序,针对Qwidge应用程序需
// QGuilication a(argc, argv);管理Qt程序的运行,设置Qt应用程序,针对非Qwidge应用程序比如QQuick
// QCorelication a(argc, argv);管理Qt程序的运行,设置Qt应用程序,针对无界面应用程序需
QApplication a(argc, argv);
// MyWindow 是我们自己定义的类 w是其对象实例化
MyWindow w;
//w调用了show方法
w.show();
//返回一个事件循环 QEvnentLoop::等待鼠标或者键盘等其他的输入。
return a.exec();
}
#ifndef MYWINDOW_H
#define MYWINDOW_H
#include <QMainWindow>
//命名空间
namespace Ui {
class MyWindow;
}
class MyWindow : public QMainWindow
{
//宏定义 qt信号槽需要它
Q_OBJECT
public:
//explicit(显式的)的作用是"禁止单参数构造函数"被用于自动型别转换
//构造函数
explicit MyWindow(QWidget *parent = 0);
//析构函数
~MyWindow();
private:
//Ui 空间下的MyWindow 的ui对象 他和class MyWindow : public QMainWindow不一样(因为命名空间不一样)
Ui::MyWindow *ui;
};
#endif // MYWINDOW_H
#include "mywindow.h"
#include "ui_mywindow.h"
//定义一个对象parent,交给QMainWindow(parent)初始化
MyWindow::MyWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MyWindow)//实例化ui对象 这句等价于ui=nenw Ui::MyWindow。
{
ui->setupUi(this);
}
MyWindow::~MyWindow()
{
delete ui;
}