• 如何在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 。
     
    有时候专注也能让人幸福,游戏读书莫不如此,专注之人必有动人之处。
  • 相关阅读:
    使用Eclipse进行远程调试【转】
    JRE_HOME environment variable is not defined correctly This environment variableis needed to run this program
    Window 通过cmd查看端口占用、相应进程、杀死进程等的命令【转】
    A cycle was detected in the build path of project
    调用CXF工具 生成 WSDL【转】
    解决cxf+spring发布的webservice,types,portType和message以import方式导入
    Target runtime com.genuitec.runtime.generic.jee50 is not defined
    修改eclipse启动时eclipse使用的jre
    JAVA中堆栈和内存分配原理
    JVM -Xss调整Stack Space的大小 【转】
  • 原文地址:https://www.cnblogs.com/pcode/p/2330694.html
Copyright © 2020-2023  润新知