QT-传智-day01
1、主体文件介绍
main.cpp
#include "mywidget.h"
#include <QApplication>//包含一个应用程序雷的头文件
//main程序入口,argc命令行变量的数量 argv命令行变量的数组
int main(int argc, char *argv[]) //使用这两个参数来传递鼠标键盘传递过来的参数
{
//a应该程序对象,在QT中,应用程序对象 有且只有一个
QApplication a(argc, argv); //将这些命令传入这个方法。
//窗口对象 myWidget 父类 ->QWidget
myWidget w;
//窗口对象默认不会显示,必须要调用show方法显示窗口
w.show();
//让应用程序对象jin'ru进入消息循环机制(死循环)直到点程序关闭按钮
//当代码阻塞到这一行
return a.exec();
}
xxx.pro
QT += core gui #Qt包含的模块
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets #大于4版本以上 包含 widget模块
TARGET = xxx //目标 生成的.exe程序的名称
TEMPLATE = app //模板 应用程序模板 Application
SOURCES += main.cpp\ #源文件
mywidget.cpp
HEADERS += mywidget.h #头文件
CONFIG += c++11
DEFINES += QT_DEPRECATED_WARNINGS
SOURCES += \
main.cpp \
mywidget.cpp
HEADERS += \
mywidget.h
FORMS += \
mywidget.ui
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
mywidget.h
#ifndef MYWIDGET_H
#define MYWIDGET_H
#include <QWidget> //包含头文件QWidget 窗口类
QT_BEGIN_NAMESPACE
namespace Ui { class myWidget; }
QT_END_NAMESPACE
//程序员写了一个类叫myWidget类继承于QWidget
class myWidget : public QWidget //构建myWidget public 继承Qwidget
{
Q_OBJECT //Q_OBJECT宏,允许类中使用信号和槽机制
public:
myWidget(QWidget *parent = nullptr); //构造有参函数 默认值是nullptr,这里只能要么这个文件(声明里有)要么mywidget.cpp实现里有
~myWidget(); //析构函数
private:
Ui::myWidget *ui;
};
#endif // MYWIDGET_H //防止头文件重复包含相当于#pragma once
mywidget.cpp
#include "mywidget.h"
#include "ui_mywidget.h"
myWidget::myWidget(QWidget *parent)
: QWidget(parent) //初始化列表,调用父类的构造把 默认的nullptr放进去
, ui(new Ui::myWidget)
{
ui->setupUi(this);
}
myWidget::~myWidget()
{
delete ui;
}
注意事项
- 命名规范
- 类名 首字母大写,单词和单词之间首字母大写
- 函数名 变量名称 首字母小写 单词和单词之间首字母大写
- 快捷键
- 注释 ctrl + /
- 运行 ctrl + r
- 编译 ctrl + b
- 字体缩放 ctrl + 鼠标滚轮
- 查找功能 ctrl + f
- 整行移动 ctrl + shift + ↑ 或者 ↓
- 帮助文档 F1
- 自动对齐 ctrl + i
- 同名之间的.h 和 .cpp切换 F4
- 帮助文档 第一种方式 F1 第二种 左侧按钮 第三种 QT/tools/mingw49_32/bin/assistant.exe