您的位置:首页 > 文旅 > 旅游 > 新疆建设工程信息网招标网_定制客户管理软件_广州做seo的公司_职业培训机构资质

新疆建设工程信息网招标网_定制客户管理软件_广州做seo的公司_职业培训机构资质

2024/12/23 9:20:34 来源:https://blog.csdn.net/qianniulaoren/article/details/142289111  浏览:    关键词:新疆建设工程信息网招标网_定制客户管理软件_广州做seo的公司_职业培训机构资质
新疆建设工程信息网招标网_定制客户管理软件_广州做seo的公司_职业培训机构资质

Qt中,工程文件是以.pro后缀的文件,主要用以包含Qt模块,代码文件,依赖库,以及对项目的一些属性进行配置。
具体看个例子:


#这块是添加Qt模块
#.pro文件中使用#号作为注释
QT       += core gui
#QT += webenginewidgets
#添加multimedia模块
QT += multimedia
#添加multimediawidgets模块
QT += multimediawidgets
#添加texttospeech
QT       += texttospeech
#添加管理员权限
QMAKE_LFLAGS += /MANIFESTUAC:\"level=\'requireAdministrator\' uiAccess=\'false\'\"
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
#程序名称
TARGET = TestApp
#程序类型,应用程序/动态库
TEMPLATE = app#支持C11标准
CONFIG += c++11
#程序图标
RC_ICONS = Image\Logo.ico
#程序版本
VERSION = 1.0.0.1
#产品名称
QMAKE_TARGET_PRODUCT = "测试程序"
#版权所有
QMAKE_TARGET_COPYRIGHT = "牵牛老人"
#文件说明
QMAKE_TARGET_DESCRIPTION = "这是个测试程序"#设置运行文件附带调试输出窗口
#CONFIG += console#禁用qdebug打印输出
#DEFINES += QT_NO_DEBUG_OUTPUT#打印版本信息
message(qt version: $$QT_VERSION)
#判断当前qt版本号
QT_VERSION = $$[QT_VERSION]
QT_VERSION = $$split(QT_VERSION, ".")
QT_VER_MAJ = $$member(QT_VERSION, 0)
QT_VER_MIN = $$member(QT_VERSION, 1)
#下面是表示 Qt5.5及以上版本
greaterThan(QT_VER_MAJ, 4) {
greaterThan(QT_VER_MIN, 4) {
#自己根据需要做一些处理
}}
#QT_ARCH是Qt5新增的,在Qt4上没效果
#打印当前Qt构建套件的信息
message($$QT_ARCH)
#表示arm平台构建套件
contains(QT_ARCH, arm) {}
#指定编译生成的文件到temp
#表示32位的构建套件
contains(QT_ARCH, i386) {}
#表示64位的构建套件
contains(QT_ARCH, x86_64) {}
#其实Qt内置了主版本号和子版本号变量
#判断当前qt版本号
message($$QT_ARCH : $$QT_VERSION -> $$QT_MAJOR_VERSION . $$QT_MINOR_VERSION)
#下面的含义是如果版本 < 4.8
lessThan(QT_MAJOR_VERSION, 5) {
lessThan(QT_MINOR_VERSION, 8) {
#这里放要做的处理
}}
#下面的含义是如果版本 < 5.12.0
REQ_QT_MAJOR = 5
REQ_QT_MINOR = 12
REQ_QT_PATCH = 0
lessThan(QT_MAJOR_VERSION, $$REQ_QT_MAJOR)|lessThan(QT_MINOR_VERSION,
$$REQ_QT_MINOR)|lessThan(QT_MINOR_VERSION, $$REQ_QT_PATCH) {
#这里放要做的处理
}
#下面的含义是如果版本 >= 5.5
greaterThan(QT_MAJOR_VERSION, 4) {
greaterThan(QT_MINOR_VERSION, 4) {
#这里放要做的处理
}}
//代码中判断版本不要太简单
#if (QT_VERSION >= QT_VERSION_CHECK(6,0,0))
//这里放要做的处理
#endif#目录 分门别类存储
#MOC_DIR     = temp/moc
#RCC_DIR     = temp/rcc
#UI_DIR      = temp/ui
#OBJECTS_DIR = temp/obj#作用域和 if 语句很像,如果某个条件为真,作用域中的设置就会被处理
win32:CONFIG(release, debug|release): DESTDIR += ../bin/release
else:win32:CONFIG(debug, debug|release): DESTDIR += ../bin/debug
else:unix:!macx: DESTDIR += ../bin/linux# 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 += \httpctrl.cpp \main.cpp \mainwindow.cpp \
#头文件
HEADERS += \httpctrl.h \infoctrl.h \keyctrl.h \mainwindow.h \
#UI文件
FORMS += \mainwindow.ui# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target########加载第三方库###########
INCLUDEPATH += $$PWD/../Common/include
DEPENDPATH += $$PWD/../Common/libs/Win32/Release/
LIBS += -L$$PWD/../Common/libs/Win32/release/ -lHttpClient#资源文件
RESOURCES += \CertApply.qrc

通过上面的例子解释,可以看到一些常见的宏的说明和使用方法,下面汇总以下一些主要的宏说明:

$$PWD:表示当前目录的绝对路径。$$OUT_PWD:表示构建目录的绝对路径。$$QT_ARCH:表示目标计算机的架构。$$QT_EDITION:表示Qt的版本,
例如:"OpenSource""Commercial"。$$QT_HOST_DATA:表示主机的一些数据。$$QT_HOST_BINS:表示Qt主机二进制文件的路径。$$QT_HOST_LIBS:表示Qt主机库的路径。$$QT_TARGET_DATA:表示目标的一些数据。$$QT_TARGET_BINS:表示Qt目标二进制文件的路径。$$QT_TARGET_LIBS:表示Qt目标库的路径。$$join():用于连接列表中的字符串。$$split():用于分割字符串。$$system():用于执行系统命令并返回结果。$$find():用于查找指定的文件或目录。$$find_file():用于查找指定的文件。$$find_path():用于查找指定的目录。$$replace():用于替换字符串。$$eval():用于重新评估一个变量。$$uniqued():用于去除列表中的重复项。$$add_xflag():用于添加编译器标志。$$bundle_data_path():用于查找应用程序包的数据路径。$$version_compare():用于比较版本号。$$contains():用于检查列表中是否包含某个值。$$subdirs():用于指定子目录。$$CONFIG:表示构建配置。$$LIBS:表示库文件。$$INCLUDEPATH:表示包含的路径。$$DEPENDPATH:表示依赖的路径。$$VPATH:表示虚拟路径。$$DLLDESTDIR:表示动态链接库的目的地目录。$$PLUGINDESTDIR:表示插件的目的地目录。$$DATADESTDIR:表示数据的目的地目录。$$IMPATH:表示导入路径。$$QT:表示Qt模块。$$TARGET:表示目标名称。$$TEMPLATE:表示应用程序模板。$$DESTDIR:表示目的地目录。$$OBJECTS_DIR:表示对象目录。$$PWD:表示当前目录。$$CONFIG:表示构建配置。$$QMAKE_POST:表示qmake的post路径。$$QMAKE_PRE:表示qmake的pre路径。$$QMAKE_INCDIR_QT:表示Qt头文件的路径。$$QMAKE_LIBDIR_QT:表示Qt库文件的路径。$$QMAKE_INCDIR_OPENGL:表示OpenGL头文件的

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com