qt的moc,uic,rcc命令的使用

本文介绍了Qt这一C++界面库,其源码可跨平台编译,方便在不同系统移植。作者不想用Qt Creator和Qt Designer,介绍了手动处理的方法,包括生成Moc文件、转化UI文件、处理资源文件等,还提及在VS项目中的操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

qt是一个c++的界面库,其特点就是其源码可以跨平台编译,这样在写自己的小工具时可以方便地在windows,mac或linux环境下移植了。在windows下写c++程序当然选vs,在mac下写程序当然用xcode,在linux下就完全控制台吧。

本人仅仅将其看成是一个c++的库,所以不想学习新的的IDE--qt creator,也不想去学qt designer,所以qt的预处理都需要自己用命令来折腾。

Moc

从qt继承而来的类只要用了关键字 Q_OBJECT,都必须生成其对应的moc文件,命令如下

moc.exe myclass.h -o mac_myclass.cpp

其中myclass.h中有类有Q_OBJECT属性。在vs项目中只需要添加mac_myclass.cpp文件即可。

UI

虽然不使用designer来设计界面,但在编译一个demo项目时都会用*.ui文件,这时得先将其用uic.exe进行转化

uic.exe app.ui -o ui_app.h

其中app.ui是用designer设计好的界面文件, ui_app.h是生成的头文件。然后在c++项目中#include "ui_app.h"即可。

 

资源

qt定义了一套它自己的资源使用方式,其资源定义文件形如*.qrc。

如图ras.qrc文件其实就是一个xml文件,其中就包含了ras文件夹中的一些png文件。

用如下的命令可以将ras.qrc文件转化成cpp代码:

rcc.exe -no-compress ras.qrc -o ras.cpp

这样在vs项目中添加ras.cpp文件后,就可以用如下的路径来使用资源。

QIcon icon_app(":/ras/app.png");

大致地看一下ras.cpp的代码,可以发现qt应该是将图像的像素点转化成c++字节数组进行存储。

qmake是Qt框架中用于自动化构建和管理项目的重要工具,尤其适用于跨平台应用程序的开发。通过编写.pro文件,开发者能够定义项目结构并指定编译规则,使得不同平台的makefile可以自动被生成。在.pro文件中,可以使用特定变量来启用Qt的元对象编译(moc)、用户界面编译(uic)和资源编译(rcc)。 参考资源链接:[qmake使用详解与.pro文件语法](https://wenku.youkuaiyun.com/doc/3nqi9rhboy?spm=1055.2569.3001.10343) 具体步骤如下: 1. 安装Qt开发环境,并确保qmake工具可用。 2. 创建一个新的.pro文件,定义项目的基本信息和构建规则。 3. 使用`QT`变量包含Qt模块,例如:`QT += core gui`。 4. 使用`TARGET`变量指定目标应用程序的名称。 5. 使用`SOURCES`变量列出所有的C++源代码文件。 6. 使用`HEADERS`变量列出所有的头文件。 7. 使用`FORMS`变量列出所有由Qt Designer生成的.ui文件,qmake将自动调用uic生成对应的C++源文件。 8. 使用`RESOURCES`变量列出所有的资源文件,qmake将调用rcc工具编译资源。 9. 使用`INCLUDEPATH`和`DEPENDPATH`变量指定非Qt依赖的头文件搜索路径。 10. 使用`MOCFLAGS`、`UICFLAGS`和`RCCFLAGS`变量分别自定义mocuicrcc的编译选项。 例如,一个简单的.pro文件可能如下所示: ```pro # 指定Qt模块 QT += core gui # 设置应用程序名称 TARGET = MyApplication # 源文件列表 SOURCES += main.cpp \ otherfile.cpp # 头文件列表 HEADERS += main.h \ otherfile.h # 界面文件 FORMS += mainwindow.ui # 资源文件 RESOURCES += application.qrc # 包含路径设置 INCLUDEPATH += /path/to/3rdparty/includes # 自定义moc编译选项 MOCFLAGS += -Wall -fno-strict-overflow ``` 通过以上步骤,qmake将根据.pro文件中的配置信息,自动化地生成适合不同操作系统的makefile,并通过make工具来编译和链接项目,最终生成可执行的应用程序。 为了更好地掌握qmake和.pro文件的使用,强烈推荐阅读《qmake使用详解与.pro文件语法》这本书。它不仅详细介绍了.pro文件的语法规则,还提供了实际项目中遇到的各种情况的处理方法,是Qt开发者不可或缺的参考手册。 参考资源链接:[qmake使用详解与.pro文件语法](https://wenku.youkuaiyun.com/doc/3nqi9rhboy?spm=1055.2569.3001.10343)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值