Qt Creator使用技巧+Qt工程文件pro详解
快捷键
解释
F1
为光标所在的符号显示帮助文件的内容
F4
在头文件和源文件之间切换
F2
跟踪光标下的符号,若是变量,则跟踪到变量声明的地方;若是函数体或函数声明,可在两者之间切换
Shift + F2
在函数的声明(函数原型)和定义(函数实现)之间切换
Ctrl + Shift + R
对光标处的符号更改名称,这将替换到所有用到这个符号的地方
Ctrl + /
为选择的文字进行注释符号的切换,即可以注释所选代码,或取消注释
Ctrl + Shift + S
文件全部保存
Ctrl + F
调出查找/替换对话框
F3
查找下一个
Ctrl + B
编译当前项目
Ctrl + R
运行当前项目
F5
开始调试
F10
调试状态下单步略过,即执行当前行程序语句
F11
调试状态下跟踪进入,即如果当前行里有函数,就跟踪进入函数体
F9
设置或取消当前行的断点设置
二、Qt工程文件pro详解
在创建Qt工程项目时,Qt Creator总会创建一个.pro
文件,这个文件称为Qt的工程管理文件。一个工程项目可以包含一个或多个.pro
文件,.pro
文件详解如下:
QT +=
表明这个项目使用的模块。core
模块包含了Qt的核心功能,其他所有的模块都依赖于这个模块;gui
模块提供了窗口系统集成、时间处理、OpenGL和OpenGL ES集成、2D图形、基本图像、字体和文字等功能。当使用qmake工具来构建项目时,core模块和gui模块是被默认包含的。其实,所谓的模块就是很多相关类的集合。
greaterThan(QT_MAJOR_VERSION, 4): QT +=
添加了widgets
模块,这行代码的意思是:如果QT主版本大于4(也就是说当前使用的是Qt5或更高的版本),则需要添加widgets
模块。因为后面程序中使用的几个类都包含在widgets中,所以在这里需要添加这行代码。Qt widgets模块中提供了经典的桌面用户界面的UI元素集合,简单来说所有C++程序用户界面不见都在该模块中。
2、TARGET
TARGET =
指定生成的目标文件的名称,就是生成的exe
文件的名字,默认是项目的名称,当然也可以在这里改为别的名称。
3、TEMPLATE
TEMPLATE =
使用app模板,表明这是个应用程序。
4、SOURCES、HEADERS、FORMS
SOURCES += \
main.cpp \
mainwindow.cpp \
timescaledraw.cpp
HEADERS += \
mainwindow.h \
timescaledraw.h
FORMS += \
mainwindow.ui
工程包含的源文件、头文件和界面文件。
5、RC_ICONS
RC_ICONS = myico.ico
添加应用程序图标,这些文件都使用了相对路径,因为都在项目目录中,所以只写了文件名。
6、RESOURCES
RESOURCES += Resource/resource.qrc
指定资源文件(qrc)的名称;
7、RC_FILE
RC_FILE += myapp.rc
指定应用程序资源文件的名称,这个变量的值通常是由qmake或qmake.comf处理,很少需要进行修改;
8、DEFINES
DEFINES +=
qmake添加这个变量的值作为编译器C预处理宏(-D选项),然后就可以在diamante中使用:
#ifdef
//TODO
#else
//TODO
#endif
常用语指定项目的特殊版本(比如:正式版、试用版)、对一些特殊功能模块(比如:加密狗)进行限制等;
9、DEPENDPATH
DEPENDPATH += .
指定查看解决依赖关系的目录列表,当包含文件时使用;;
10、DESTDIR
DESTDIR = ../../lib
指定在何处放置目标文件;
11、INCLUDEPATH
INCLUDEPATH = c:/mqtt/include d:/opencv/include
指定编译项目时应该被搜索的#include
目录,如果路径包含空格,需要使用引导包含:
win32:INCLUDEPATH += "C:/mylibs/extra headers"
unix:INCLUDEPATH += "/home/user/extra headers"
12、LIBS
win32:LIBS += c:/mylibs/math.lib
unix:LIBS += -L/usr/local/lib -lmath
指定链接到项目中的库列表。如果使用unix -l(library)和-L(library path)标志,在Windows上qmake正确处理库(也就是说,将库的完整路径传递给链接器),库必须存在,qmake会寻找-l指定的库所在的目录。如果路径包含空格,需要使用引号包含路径,例如:
win32:LIBS += "C:/mylibs/extra libs/extra.lib"
unix:LIBS += "-L/home/user/extra libs" -lextra
13、MOC_DIR
unix:MOC_DIR = ../myproject/tmp
win32:MOC_DIR = c:/myproject/tmp
指定来自moc的所有中间文件放置的目录(含Q_OBJECT宏的头文件转换成标准.h文件的存放目录)
14、OBJECTS_DIR
unix:OBJECTS_DIR = ../myproject/tmp
win32:OBJECTS_DIR = c:/myproject/tmp
指定所有中间文件.o(.obj)放置的目录;
15、TRANSLATIONS
TRANSLATIONS += Resource/myapp_zh.ts \
Resource/myapp_en.ts
指定包含用户界面翻译文本的翻译(.ts)文件列表
16、UI_DIR
unix:UI_DIR = ../myproject/ui
win32:UI_DIR = c:/myproject/ui
指定来自uic的所有中间文件放置的目录(.ui文件转化成ui_*.h文件的存放目录);
版权声明
本文仅代表作者观点,不代表博信信息网立场。