一、Qt Creator使用技巧

1.1、IDE常用快捷键汇总

快捷键

解释

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​​文件详解如下:

1、QT

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文件的存放目录);