标签: rcc

创建资源文件以在 Qt Designer 中使用它

我想向小部件添加背景图像,因此我需要一个资源文件,但我无法在 Qt Designer 中创建它。这是我所做的:

  1. 我从小部件转到资源浏览器并单击“添加新文件”按钮,然后弹出一个新窗口。

  2. 我被要求指向 .qrc 文件,但该文件不存在,我不知道如何创建它。

我搜索了一下,发现 .qrc 文件是使用 Qt Creator 创建的。

我不能在 Qt Designer 中创建 .qrc 文件吗?我是否需要使用 Qt Creator 创建一个 .qrc 文件,然后在 QT Designer 中使用它?

我在 CentOS 7.0 中使用 Qt Designer 和 PyQt

qt pyqt qt-creator rcc

9
推荐指数
3
解决办法
3万
查看次数

打开/编辑 Qt 资源文件 (.rcc)

我想翻译一个程序;但其语言文件 (.qm) 位于 .rcc 文件中。

该程序不是我的,所以我没有任何 .qrc 文件。

在问这个问题之前,我已经在这个网站上搜索过这个问题;但我什么也没得到。

有什么方法可以提取/反编译它吗?

resources qt rcc

7
推荐指数
1
解决办法
6529
查看次数

Qt资源国际化失败

以下是Qt文档的引用:

某些资源需要根据用户的语言环境进行更改,例如翻译文件或图标.这是通过向qresource标记添加lang属性,指定合适的区域设置字符串来完成的.例如:

<qresource>
    <file>cut.jpg</file>
</qresource>
<qresource lang="fr">
    <file alias="cut.jpg">cut_fr.jpg</file>
</qresource>
Run Code Online (Sandbox Code Playgroud)

如果用户的语言环境是法语(即QLocale :: system().name()返回"fr_FR"),则:/ cut.jpg将成为对cut_fr.jpg图像的引用.对于其他语言环境,使用cut.jpg.

我试着这样做但我失败了.这是我的*.qrc文件的一部分:

<qresource>
    <file>HtmlTemplates/angle.html</file>
    <file>HtmlTemplates/bottom.html</file>
    <file>HtmlTemplates/top.html</file>
</qresource>
<qresource lang="en">
    <file alias="HtmlTemplates/angle.html">HtmlTemplates/en/angle.html</file>
    <file alias="HtmlTemplates/bottom.html">HtmlTemplates/en/bottom.html</file>
    <file alias="HtmlTemplates/top.html">HtmlTemplates/en/top.html</file>
</qresource>
Run Code Online (Sandbox Code Playgroud)

如您所见,它遵循与手册中的示例完全相同的模式.但是,尝试编译此文件会产生以下结果:

..\Blinky_2.0\resources.qrc: Warning: potential duplicate alias detected: 'angle.html'
..\Blinky_2.0\resources.qrc: Warning: potential duplicate alias detected: 'bottom.html'
..\Blinky_2.0\resources.qrc: Warning: potential duplicate alias detected: 'top.html'
Run Code Online (Sandbox Code Playgroud)

如果我尝试修改QtCreator中的*.qrc文件,它会将其重置为错误状态,删除lang属性:

<qresource prefix="/">
    <file>HtmlTemplates/angle.html</file>
    <file>HtmlTemplates/bottom.html</file>
    <file>HtmlTemplates/top.html</file>
    <file alias="HtmlTemplates/angle.html">HtmlTemplates/en/angle.html</file>
    <file alias="HtmlTemplates/bottom.html">HtmlTemplates/en/bottom.html</file>
    <file alias="HtmlTemplates/top.html">HtmlTemplates/en/top.html</file>
</qresource>
Run Code Online (Sandbox Code Playgroud)

所以我被迫在我的代码中迭代不同语言环境的资源.我错过了什么或这是一个Qt错误?Qt版本是4.8.4,QtCreator版本是2.8.1.

c++ qt qt4 embedded-resource rcc

6
推荐指数
1
解决办法
902
查看次数

自定义pyuic的资源导入声明?

当我在Windows上使用此命令时:

python -m PyQt4.uic.pyuic user_interface.ui -o user_interface.py
Run Code Online (Sandbox Code Playgroud)

之后,我添加了一个资源:

pyrcc4.exe -py3 images.qrc -o images.py
Run Code Online (Sandbox Code Playgroud)

最后,我得到了两个漂亮的文件user_interface.pyimages.py。问题是user_interface.py文件以以下代码结尾:

... all QT stuff here.
import images_re
Run Code Online (Sandbox Code Playgroud)

而且由于这是许多父母调用的模块,因此必须像这样导入:

import myapp.gui.images_re
Run Code Online (Sandbox Code Playgroud)

当我更改代码行时,它可以正常工作,但是每次我修改user_interface.ui文件然后执行批处理时,它将被覆盖,因此每次都必须手动对其进行更改。

有什么方法可以告诉pyuic在该import语句中写什么?
还是在pyuic之后可以执行并更改该行代码的任何批处理代码?
还是对调用user_interface.py的.py文件进行一些调整,例如更改默认目录,以便从那里导入images_re?

pyqt pyqt4 rcc pyuic

6
推荐指数
1
解决办法
753
查看次数

如何在CMake中使用qt5_add_binary_resources生成rcc文件

我正在尝试使用创建rcc文件:CMakeqt5_add_binary_resources(target inputfile ... OPTIONS ... DESTINATION ...)

qt5_add_binary_resources(myApp "themes/redTheme.qrc" OPTIONS ARGS -binary)
Run Code Online (Sandbox Code Playgroud)

由于我正在使用其他宏,例如add_executable在我的CMakeLists文件中(要求a target),我收到以下错误:

CMake Error at C:/Qt/5.5/msvc2013/lib/cmake/Qt5Core/Qt5CoreMacros.cmake:255 (add_custom_target):
  add_custom_target cannot create target
  "myApp" because another target with the
  same name already exists.  The existing target is an executable created in
  source directory [..]
Run Code Online (Sandbox Code Playgroud)

请注意,我的CMakeLists文件嵌套在根目录中CMakeLists.

编辑:我看了宏的定义(l.226)qt5_add_binary_resources.最后一行是引发我的错误的命令.它似乎没有做任何事情:

add_custom_target(${target} ALL DEPENDS ${rcc_destination})

我不明白为什么宏需要一个target

编辑:这是我的内容CMakeLists.txt,虽然为了清晰起见而简化了.

CMAKE_MINIMUM_REQUIRED(VERSION 3.4)
CMAKE_POLICY(SET …
Run Code Online (Sandbox Code Playgroud)

qt cmake qml rcc

5
推荐指数
1
解决办法
1411
查看次数

从.qrc文件(使用pyside-rcc)编译的.py文件不起作用

我正在研究python项目,我的.py文件存在问题,该文件符合.qrc文件.首先,让我简要介绍一下我的项目.

我在QtDesigner中创建了我的项目GUI,并且还使用了GUI中的图像.然后,我使用pyside-uic从.ui文件生成.py,并使用pyside-rcc从.qrc文件生成.py文件.问题是当我使用.py文件(图像文件)时,图像不会显示在我的GUI中.

有谁知道如何解决这个问题?

谢谢你的所有答案.:)

PS.我使用PySide作为我的GUI语言.

python image qt-designer pyside rcc

5
推荐指数
1
解决办法
5825
查看次数

问:如何关闭pro文件中的资源压缩?

我读过" Qt资源系统 "一文.在"压缩"段中,有关于如何通过rcc命令行中的参数关闭压缩的信息.但是rcc命令行是由qmake从pro文件自动生成的.如果我直接更改rcc命令行,它将在下一次qmake运行期间恢复到原始状态.

是否有可能在专业人士中关闭压缩?

resources qt rcc

3
推荐指数
2
解决办法
1252
查看次数

标签 统计

rcc ×7

qt ×5

pyqt ×2

resources ×2

c++ ×1

cmake ×1

embedded-resource ×1

image ×1

pyqt4 ×1

pyside ×1

python ×1

pyuic ×1

qml ×1

qt-creator ×1

qt-designer ×1

qt4 ×1