Qt之moc,uic,rcc命令的使用

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"即可。

RCC

 rcc 工具的两种用途:
(1)生成独立的二进制资源文件 *.rcc
对于太大的图片、音频、视频等文件,不适合集成到目标程序内部,可以放到操作系统文件路径,或者单独编译成外挂资源 *.rcc 。举例来说,myresource.qrc 包含了很多图片和视频,没法编译成目标程序内嵌资源时,可以打开 Qt 命令行,进入 myresource.qrc 所在的文件夹,执行命令:

rcc -binary myresource.qrc -o myresource.rcc

rcc 会把 myresource.qrc 里面描述的所有图片、视频等文件,都压缩打包,生成一个二进制的 myresource.rcc 文件,这个 myresource.rcc 包含了所有的资源,这样程序发布时就不需要带一堆乱七八糟的碎文件了,一个 myresource.rcc 搞定。

那么代码中如何使用 myresource.rcc 呢?需要在 main 函数开始的位置注册这个独立的二进制资源文件:

QResource::registerResource("/path/myresource.rcc");
(2)应用程序内嵌资源
如果希望一个资源描述文件 application.qrc 在程序编译时内嵌到目标程序里,需要在 *.pro 文件里加一句话:

RESOURCES += application.qrc

qmake 会自动根据这句话,为 application.qrc 添加编译脚本,其编译过程如下图所示:

rcc

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值