• 如何在PySide中使用qrc资源文件


    网上找到的都是rcc的使用方法,对于PySide-rcc介绍较少,经过对rcc和pyside-rcc试验和整理处使用的方法,形成文字,技术备档。

    Resource Collection Files (.qrc)
    应用程序关联的应用程序由 .qrc 文件来指定,它用XML记录硬盘上的文件和对应的随意指定的资源名称,应用程序通过资源名称来访问资源。
     
    1.创建一个qrc 文件:
    <!DOCTYPE RCC><RCC version="1.0">
    <qresource>
         <file>images/cut.png</file>
    </qresource>
    </RCC>
    2.windows下需要设置系统path里加上C:\Python27\Lib\site-packages\PySide目录,这样才能使用pyside-rcc命令(Resource Compiler for PySide)
    3.pyside-rcc myresource.qrc -o myresource_rc.py
    4.引用myresource_rc.py
    在程序中把原来引用文件的地方更换为 :/cut-img.png ,如果没有指定file alias可以使用:/images/cut.png调用
    5.完成
     
    PS:
    文件里使用的路径是 .qrc 文件所在目录的相对路径。注意,内部使用的资源文件必须位于 .qrc 文件所在目录或者其子目录下。
    资源数据也能被编译进二进制文件中,因此应用程序代码可以立即访问;也可以创建一个二进制资源,稍后在程序中登记了资源体系的代码中指定。
    缺省时,程序可以用资源在源码树中的名称加一个 :/ 前缀来访问它。例如,在程序的源码树中是 images/cut.png 的文件可以通过 :/images/cut.png 来访问。但也可以用 file 标签中的 alias 属性来指定:
    <file alias="cut-img.png">images/cut.png</file>
    <qresource prefix="/myresources">
    <file alias="cut-img.png">images/cut.png</file>
    </qresource>

    调用是使用 :/myresources/cut-img.png 调用。

    PS:如有需要多国语言是。这可以在 qresource 标签的 lang 属性中指定一个合适的本地化字串来实现。例如:
    <qresource>
         <file>cut.jpg</file>
    </qresource>
    <qresource lang="fr">
         <file alias="cut.jpg">cut_fr.jpg</file>
    </qresource>
    如果用户的本地化设置是 French (也就是说,QLocale::system().name() returns "fr_FR"),:/cut.jpg 就会引用 cut_fr.jpg 图像。对于其他本地化设置,仍然用 cut.jpg 。
     
    有时候专注也能让人幸福,游戏读书莫不如此,专注之人必有动人之处。
  • 相关阅读:
    泛型冒泡排序继承IComparable接口
    C#中枚举与位枚举的区别和使用
    C#中把二维数组转为一维数组
    一维数组的冒泡排序
    C#控制台的两个二维数组相加
    vs2019连接MySql的连接字符串
    Ajax方法请求WebService实现多级联动
    kafka-manager无法启动解决方法
    SQL优化————Insert
    读写锁
  • 原文地址:https://www.cnblogs.com/pcode/p/2330694.html
Copyright © 2020-2023  润新知