抖音资讯

douyinzx

pic文件怎么打开(电脑图片pic打开方式)

iseeyu2年前 (2024-04-30)抖音资讯131

1、什么是Qt 资源系统

Qt资源系统是一种将图片、数据存储于二进制文件中的一套系统。这些图片、数据会被我们的程序使用,它们称为资源。Qt资源系统中存储了这些资源,使得程序可以很方便地找到并使用它们。

Qt资源系统是独立于平台的,因为无论是文件还是翻译文件,都会被打包成为二进制数据。我们可以把这些二进制数据保存到可执行文件中,这种做法称为静态加载资源;也可以把它们单独保存在某个文件中,称为动态加载资源

2、qrc文件

qrc文件是基于XML格式的资源系统配置文件(注意是配置文件而不是资源文件本身),其中指定了各种资源的信息。

将资源文件打包为二进制数据的流程是:

写qrc文件 → 用rcc编译 → 二进制数据

2.1、写qrc文件

两种方式:

  • 用Qt Creator编写;
  • 手工写。

这里之所以有“手工写”,是因为Qt Creator只支持一次生成一个qrc文件,如果我们需要多个qrc文件或者一个qrc文件下的多个目录,那么需要多次同样的操作,费时费力。遇到这种情况,可以在命令行中列出所有文件,复制粘贴到某个文本编辑器中,然后多行同时添加前缀后缀,就像这样:

 

手工写qrc文件需要熟悉qrc文件的规则,这一点听起来要学习很多东西,实际上可以先用Qt Creator写好一个qrc文件之后照着它的样式写就可以了。所以这里只说明如何用Qt Creator写qrc文件:

①在项目中添加Qt Resource File,命名为resource(名字随意),完成后就得到了一个空的qrc文件:resource.qrc。此时文件中还没有资源信息,只有两行简单的标识符:

 

 

 

这里有一点需要注意,如果直接双击qrc文件,打开之后可能是这样:

 

这时是以资源编辑器的形式打开的,如果要进入文本编辑器模式,只需要右键qrc文件,以文本编辑器模式打开

 

②我们在工程目录(即.pro所在目录)下创建一个pic文件夹用于存放资源文件,比如这里我们存放了三个图片:pic1.jpg、pic2.jpg、pic3.jpg

 

③在Qt Creator中打开qrc 资源编辑器,第一步永远是添加前缀,如/logo(如果不写任何前缀,则会默认生成一个单斜杠 前缀,最后访问该前缀下的资源文件时,写法就是qrc:///资源文件名,第二个斜杠表示这个默认前缀目录,这样的话可读性不高。),然后才是添加资源文件:

 

最后,我们在文本编辑器中查看,就可以看到①中所说的两行标识符没有了,剩下的全是包含前缀资源信息了:

 

2.2、前缀、别名、语言环境

在创建qrc文件的过程中,有前缀、别名、适用的语言环境这些项,我们只是设置了前缀,其它两项都没有管。其实,这些项的本质是分组

这里终点说下语言环境,语言环境是和前缀一起设置的。有时我们的同一个图标可能因为国家原因做了不同的版本,Qt可以自动根据本机语言环境选择性地加载不同的图标。

比如,这里我又多了一个文件pic2_fr.jpg,并且把它的别名设置为pic2.jpg。前缀都是logo,只是后者的语言环境属性为fr。这意味着,当我本机是法语时,程序会从第二个前缀中找到叫pic2.jpg的文件:

 

 

2.3、两种资源路径

假设已经加载好了资源,访问这些资源的两种方式是:

  • 文件路径—— :/pic/pic1.png,即 :/资源路径(相对于工程目录)
  • URL—— qrc:///pic/pic1.png,即 qrc:///资源路径(相对于工程目录)

3、如何加载资源

两种方式:

  • 将资源存储到可执行文件中(静态方式);
  • 将资源存储在单独的二进制文件中并由可执行文件调用(动态方式)。

3.1、静态方式

除了用Qt Creator在工程中添加qrc文件外,还需要在.pro文件中加入qrc文件,以便qmake可以识别资源文件,不过这一步是由Qt Creator自动完成的。

qmake编译后会生成一个名为qrc_resource.cpp的文件,打开它之后我们会看到刚才我们的资源已经以静态数组的形式保存在其中了。最终该文件的数据会存入可执行文件中。

3.2、动态方式

不需要写pro文件,需要手动用rcc工具编译qrc文件,然后用QResource类加载。

1)手动用rcc编译qrc文件;

rcc -binary resource.qrc -o resource.rcc

2)在程序中用QResource类加载。

QResource::registerResource("/path/resource.rcc");

备注:rcc工具的使用,请自行参考官方文档"Resource Compiler (rcc)"。

4、在lib库中使用资源

一般我们写完 lib 库后提供给外界的就是一个库文件和头文件,所以无论你是在库中使用资源还是给外界提供资源,最好是采用静态方式。不然的话你还得额外提供 rcc 文件,即独立的二进制资源文件。

将资源存储于 lib 库中,需要调用 Q_INIT_RESOURCE() 宏来强制资源初始化。反之如果卸载资源则调用 Q_CLEANUP_RESOURCE(),例如:

MyClass::MyClass():BaseClass()
{
   Q_INIT_RESOURCE(resources);
   QFile file(":/myfile.dat");
   ...
}

注意:在程序而不是库中,如果采用静态方式,不需要使用Q_INIT_RESOURCE() 和 Q_CLEANUP_RESOURCE()。

扫描二维码推送至手机访问。

版权声明:本文由西安泽虎代运营发布,如需转载请注明出处。

转载请注明出处https://0291.com.cn/post/48282.html

相关文章

Google广告推广:了解费用和付款

Google广告推广:了解费用和付款

使用智能广告系列时,您只需为广告实际获得的点击和为您吸引的来电付费。每天的费用可能会有所不同,但整个月的费用不会超出您的每月预算上限。付款设置表明您什么时候进行付款,而付款方式表明您通过什么途径进行支付。 Google展示广告系列如何收费 您只需为智能广告系列所带来的点击或来电付费。您在一个...

快手视频广告怎么在账户添加视频创意呢?

快手视频广告怎么在账户添加视频创意呢?

什么是快手视频推广的关键词?   关键词是用以定位潜在客户的字词或短句。 网民在快手视频广告时会使用一些特定的字词或短句,称之为视频词。您可以将网民可能视频且又蕴含商业价值的词选择出来,提交视频推广。当网民视频感兴趣的产品/服务时,系统会匹配与网民视频相关性大的关键词,将其对应的创意展现在...

3dmax材质编辑器怎么用(简述材质编辑器的使用方法)

3dmax材质编辑器怎么用(简述材质编辑器的使用方法)

在3DMax中,材质编辑器可以创建出更贴近生活的模型,对于今后大家的发展有着至关重要的帮助,考虑到有部分初学者还对编辑器不太了解,那么下面我就给大家分享一下,3DMax材质编辑的应用介绍,希望能帮助到大家,感兴趣的小伙伴可以关注了解下。 步骤/方法 第1步 运行3DMax...

恢复原来的抖音号一键登录(抖音一键恢复正常的步骤)

恢复原来的抖音号一键登录(抖音一键恢复正常的步骤)

抖音,作为中国最大的短视频社交平台,吸引了无数用户。但是,在这样一个广大的平台上,有时会遇到账号被封禁或内容被删除的情况。这时,了解如何正确申诉就显得尤为重要。本文将详细介绍抖音的申诉流程,帮助你恢复丢失的账号和内容。   一、了解申诉流程...

留给陈睿和B站的时间,又少了一个季度

出品/壹览商业作者/布林编辑/木鱼“丑媳妇总得见公婆”,B站的第二季度财报姗姗来迟。相较于去年,这份财报几乎推迟了半个月,这也让B站成为主流中概股中最晚发财报的公司。由于上海、北京两大城市先后遭受疫情,资本对各大互联网公司第二季度的业绩预期普遍较为悲观。但B站第二季度的业绩...

抖音要天天发才可以火吗(如何发作品好)

抖音要天天发才可以火吗(如何发作品好)

抖音想要运营的好,就一定要有好的运营思路,其中最重要的还是要坚持,只有坚持,才能成功,当然如果只是坚持,没有好的运营思路,方向不对,那也只是浪费努力,抖音需要天天发吗?   抖音是需要天天发的,这是其中一个运营重要的点,同时一定要注意时间段,什么时候发才能达到最...

现在,非常期待与您的又一次邂逅

我们努力让每一部企业宣传片和抖音短视频成为商业大片