—— 均为自学笔记,如有错误请指正
第一节 Qt程序介绍
注:名称(不能有中文、空格);路径(不能有中文路径)
1. 创建界面→类信息→基类→QMainWindow、QWidget、QDialog
- 父类:QWidget(最简单的窗口)
- 子类: QMainWindow(含有菜单栏、工具栏、状态栏等的窗口)、QDialog(对话框)
2. 创建界面→汇总→添加到版本控制系统(具有合并能力,团队合作工具:svn、vss、git)
3.自动生成的文件说明
- pro:工程文件,配置文件(svn中的是.sln文件)
- main.cpp(程序入口)
- 名.cpp(窗口的.cpp文件)
- 名.h(窗口的.h文件)
4. Qt程序中 main函数介绍
- QApplication a 应用程序对象,有且仅有一个
- myWidget w; 实例化窗口对象
- w.show() w对象调用show函数,显示窗口
- return a.exec() 让应用程序对象进入消息循环机制中,代码阻塞到当前行(知道点击X退出循环)
5. Qt程序中 pro工程文件
Qt5基本模块:Qt Widgets、Qt Core(显示核心)、Qt GUI(显示图形)、
Qt Network(网络通信)、Qt Webkit(网页)、Qt Test、Qt SQL、Qt Quick、Qt QML、
Qt Mulitmedia(多媒体)、Qt Quick Controls、Qt Quick Sialogs、Qt Mulitmedia Widgets
//Qt包含的模块
QT += core gui
//大于4版本以上,包含widget模块
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
CONFIG += c++11
//源文件
SOURCES += \
main.cpp \
mywidget.cpp
//头文件
HEADERS += \
mywidget.h
6. Qt程序中 头文件
- #ifndef、#endif 防止重名、防止头文件重复编译
7.命名规范
- 类名:首字母大写,单词单词之间首字母大写
- 函数名/变量名:首字母可以小写,单词单词之间首字母大写
8. 快捷键
- 注释 ctrl + /
- 运行 ctrl + r
- 编译 ctrl + b
- 查找 ctrl + f
- 整行移动 ctrl + shift + ↑ 或者 ↓
- 帮助文档 ①F1 ②Qt助手
- 自动对齐 ctrl + i
- 同名之间的.h和.cpp 切换 F4
9. 查看Qt助手说明
10. 按钮控件常用API ( 指针调用w->X() 相当于非指针调用的 w.X() )
① 按钮
- 创建按钮QPushButton * btn = new QPushButton("QString",this);
- 设置父亲 setParent(this);
- 设置文本 setText("QString");
- 设置位置 move(x,y); 如:btn2->move(x,y);
- 重新指定窗口大小 resize(w,h); // 是btn父类中的一个函数
- 重置按钮大小 btn2->resize(w,h); // btn继承父类,因此也可以调用它
- 设置窗口固定大小 setFixedSize(w,h);
② 对象树
- 构造从上往下,析构从下往上
- 当创建的对象在堆区的时候,如果指定的父亲是QObject派生下来的类或者QObject的子类派剩下来的类,可以不用管理释放的操作,且会将对象放入到对象树中。
- 一定程度上简化了内存的回收机制。
11.Qt窗口坐标体系
- 左上角为原点,X向右增加,Y向下增加。