在界面开发中,我们常常将一些图片、图标等资源统一存放到资源文件中供使用,从而让图形界面表达能力更好,更加丰富,譬如带图标的按钮、菜单、窗口等等。
PySide6
可以将多个图标、图片等资源文件编译到.py
文件中,这样可以被我们的程序直接调用,使得资源的管理更加方便。
本例使用的图片资源网站:
资源文件的创建和利用
图标、图片等资源可以通过互联网搜索获得,我们把下载的文件保存到Python
主程序所在目录的一个专门文件夹下,以便后续编译。
创建资源文件
以上一节的pyside_ui_to_code界面为例,我们使用Qt Designer
打开该界面文件,并添加资源。在设计器的右下角,我们可以找到资源浏览器。
单击左上角的“铅笔”图标,弹出“编辑资源”对话框:
由上图可见,该对话框包含了“新建资源文件”、“打开资源文件”、“移除”(底部左边三个按钮)等功能,以及对资源文件中资源的管理(底部右边三个按钮)——“添加前缀”、“添加文件”、“移除”。
点击“新建资源文件”按钮,创建一个叫做image
的资源文件,用以管理项目所用到的图片:
我们通过“添加前缀”按钮,可以将资源文件里的资源分门别类进行存储,以便查找、利用。单击“添加文件”按钮,可以给对应的前缀添加文件。
使用资源文件
- 按钮中使用图标:
点击界面中的按钮,在右侧属性编辑器中找到icon
属性,单击右边向下黑色三角形,通过“选择资源”的方式,选择所需要的图片资源。
- 设置窗体图标
点击窗体(注意不要选中任何控件),在右方属性编辑器中,找到windowIcon
属性,做与按钮图标设置类似的操作即可。
修改好.ui
文件后,我们用上一节的方式,将它转换为.py
文件,可见该文件通过import image_rc
语句引入资源文件,那么,我们需要将资源文件image.qrc
也转换为image_rc.py
文件,供UI代码调用。
资源(qrc)文件编译成.py文件
通过pyside6-rcc
命令,可以将我们定义好的.qrc
文件编译成.py
文件。与上一节的UI文件编译类似,我们可以采用直接命令行、批处理文件以及自定义程序等方式进行处理。
以命令行为例:
pyside6-rcc image.qrc -o image_rc.py
生成的资源文件,及程序最终运行效果如下: