QT中添加的资源文件qrc时的路径问题小结
来源:互联网 发布:北京恒润科技知乎 编辑:程序博客网 时间:2024/06/07 18:30
假设向一个QT的应用程序里添加了资源文件(icon.qrc),然后有在里面添加了下面的内容:
<RCC> <qresource prefix="/image"> <file>image/DIW.ico</file> </qresource> <qresource prefix="/text"> <file>text/1.cpp</file> </qresource></RCC>
看起来向下面的样子:
如果引用上述资源文件里的【1.cpp】,文件的路径应该是“:/text/text/1.cpp”,而不是“:/text/1.cpp”。
为什么?不必追问太多,直接到编译后形成的文件“qrc_icon.cpp”里找答案吧:
看到“qrc_icon.cpp”文件里的内容,有这么几点认识:
① 所添加的各种资源文件,最终被编译成unsigned char,放到字节数组qt_resource_data[]里了;
② 既然这些内容是在编译时已经创建,因此只能做“读”操作,如QFile::open(QIODevice::ReadOnly),而不能做写操作;
③ 每次改动外部被添加资源文件的内容,需要重新编译;
④ 当要使用外部资源文件为文本内容时,注意该文件的编码格式,可以使用常用的文本编辑器notepad++查看当前格式,在QT里要正确显示,或者为系统设置编码格式:
QTextCodec::setCodecForLocale(QTextCodec::codecForName("GBK"));
或者在需要使用的地方,使用明确的编码格式,如下面的QString result字符串:
void MainWindow::readResult(int exitCode){ if(exitCode == 0) {#if defined(Q_OS_WIN32) QTextCodec* gbkCodec = QTextCodec::codecForName("GBK"); QString result = gbkCodec->toUnicode(p->readAll());#elif defined(Q_OS_LINUX) QTextCodec* utfCodec = QTextCodec::codecForName("UTF-8"); QString result = utfCodec->toUnicode(p->readAll());#endif QMessageBox::information(this, "dir", result); }}
其他如“utf8”格式,总之要和文本文件的编码格式一致。
⑤ 可以将":/"传递到QDir中,枚举其下的文件内容,如下:
QDir d(":/"); qDebug()<<"absolutePath: "<<d.absolutePath(); qDebug()<<"dirName: "<<d.dirName(); foreach (QFileInfo info, d.entryInfoList()) { qDebug()<<"absoluteDir: "<<info.absoluteDir(); qDebug()<<"absoluteFilePath: "<<info.absoluteFilePath(); qDebug()<<"absolutePath: "<<info.absolutePath(); //.....其他内容 }
1 0
- QT中添加的资源文件qrc时的路径问题小结
- vs中使用qt的qrc生成rcc资源文件
- QT中的资源文件的编写(qrc)
- Qt利用qrc文件添加图标资源
- 【QT笔记】qrc文件添加资源
- VS2010+QT 添加资源文件(.qrc)
- Visual studio打不开Qt资源文件qrc的解决办法(无法使用Qt的qrc编辑器)
- 添加资源文件.qrc
- QT 换电脑的时候qrc文件的问题
- Qt002 - Qt4.8.5+VS2008在Qt项目中添加资源文件(.qrc)
- Qt导入.qrc资源文件
- qt cmake 添加资源文件的问题
- Qt中使用qrc管理和使用资源文件
- 引用静态库中的资源文件(Qt下添加*.qrc资源)
- 写一个Qt资源文件(qrc)
- qrc文件的使用方法
- qt生成exe文件,界面的工具栏图片有qrc生成无法显示问题
- Qt的qrc文件通过cmake在VS中编译Q_INIT_RESOURCE imagecomposition 编译
- jsp版文件上传
- Tinder翻牌子项目总结(类似探探、Tinder、Nice的翻牌子)
- uva 572
- IO流
- 顺序表的头文件和头文件的实现
- QT中添加的资源文件qrc时的路径问题小结
- java语言基础(二)
- GOF 23设计模式之 装饰模式(Decorator)
- 赶集网mysql开发36条军规
- 问题:将一个n元一维向量向左旋转i个位置,例如,当n=8且i=3时,向量abcdefgh旋转为defghabc。
- 设置格式,比较日期大小 (alter session set NLS_LANGUAGE = 'AMERICAN')
- Jsp自定义标签Demo
- 凯撒加密caesar
- 常用破解软件需要搜索的关键字列表: