工程文件
工程文件指的是后缀名为.pro的文件。尽量不要修改工程文件中的内容,仅在必要情况下进行修改。
第一行为Qt包含的模块,下面的工程文件包含了core模块与gui模块。
在Qt5及以上版本,Qt Widgets独立出来成为一个新的模块,所以当版本号大于4时,要将该模块包含进来,greaterThan能够增强兼容性。
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
CONFIG += c++11
# You can make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
SOURCES += \
main.cpp \
mywidget.cpp
HEADERS += \
mywidget.h
FORMS += \
mywidget.ui
# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target
命名规范
类名使用大驼峰命名,函数名使用小驼峰命名。
快捷键
功能 | 快捷键 |
---|---|
注释 | ctrl + / |
运行 | ctrl + r |
编译 | ctrl + b |
字体缩放 | ctrl + 鼠标滚轮 |
查找 | ctrl + f |
整行移动 | ctrl + shift + ↑↓ |
帮助文档 | F1 |
自动对齐 | ctrl + i |
切换.cpp与.h | F4 |
对象树
创建QObject对象时,可以为其指定一个父对象,就会将这个对象加入到父对象的children列表中。当父对象被析构时,其children列表中的所有对象都会被递归地析构,而不用手动维护各种对象的生命周期。当创建对象时记得给它指定一个父对象,这样可以有效的减少代码编写的复杂度,防止内存泄漏。
坐标系
Qt中窗体的左上角为(0, 0)点,水平向右为x轴正方向,竖直向下为y轴正方向。