当前位置: 首页 > article >正文

基于深度学习的视觉检测小项目(十三) 资源文件的生成和调用

        在使用 PySide6 进行开发时,管理应用程序的资源(如图标、图片、字体、样式表、音视频等)是一个常见的任务。PySide6 提供了一个工具 pyside6-rcc,它能够将资源文件(.qrc)编译成 Python 模块,然后在程序中加载和使用。

基础知识:PySide6的资源文件(.qrc 文件)简介以及RCC工具-CSDN博客

这里在本项目中来演示一下资源文件的生成和调用。

designer中的部分:

• 在项目的UI_proj下新建目录:/SRC

• 将logo.png文件移动到/SRC下:

• 在designer中新建资源文件:SRC.qrc,同样存储在项目的/SRC下:

• 添加前缀:logos:

• 添加文件: logo.png

• 在项目的start_up.ui画面的label_logo鼠标右键“改变样式表”:

• 在样式表中输入:

QLabel{},在花括号中间点“添加资源-->image”,然后从资源选择窗口选择logo.png图像文件。

• 样式表中的内容:

• 在designer中可以预览图像的显示效果: 

在脚本中使用图像资源:

        上面在designer中新建了资源文件,并且使用了资源文件中的图像文件,在使用中还要一些步骤,才能正常显示图像。

        • 转换资源文件:

        在pycharm中,SRC.qrc文件,鼠标右键-->外挂工具-->PyRCC,使用RCC工具把SRC.qrc转换成.py文件。如果你没有配置外挂工具,参见:基于深度学习的视觉检测小项目(二) 环境和框架搭建_a module that was compiled using nu-CSDN博客

可以看到,RCC工具将把SRC.qrc转换成了SRC_rc.py文件,并存储在了同目录下。

        • 使用uic工具将.ui文件转为.py文件,方法前面已有,不再赘述。 

        • 将SRC_rc.py文件和start_up.py文件拷贝至项目的/tmp目录下。

        • 编写脚本并导入和使用资源文件: tmp.py

from PySide6.QtWidgets import QWidget, QApplication

import start_up   # 导入使用uis工具从start_up.ui生成而来的start_up.py文件
import SRC_rc     # 导入资源文件


# 定义窗口类
class FormStart_up(QWidget, start_up.Ui_form_base):
    def __init__(self):
        super().__init__()
        self.setupUi(self)   # 加载窗口
        self.run()   # 初始化运行窗口

    def run(self):   # 窗口的运行函数
        self.show()  # 显示窗口


if __name__ == "__main__":
    import sys
    app = QApplication(sys.argv)
    form = FormStart_up()
    sys.exit(app.exec())

运行截图:

正常显示了资源文件的图像。 


http://www.kler.cn/a/503749.html

相关文章:

  • C#,图论与图算法,输出无向图“欧拉路径”的弗勒里(Fleury Algorithm)算法和源程序
  • STM32入门教程-示例程序(按键控制LED光敏传感器控制蜂鸣器)
  • 网络基础知识指南|1-20个
  • Three.js 用户交互:构建沉浸式3D体验的关键
  • 【MySQL】SQL菜鸟教程(一)
  • rk3568 , buildroot , qt ,使用sqlite, 动态库, 静态库
  • 学习进程前的简单认知-体系结构与OS
  • Qt/C++进程间通信:QSharedMemory 使用详解(附演示Demo)
  • 刷题记录 回溯算法-10:93. 复原 IP 地址
  • 如何高效使用Adobe软件的组件功能
  • OpenCV实现彩色图像的直方图均衡化
  • riscv架构下linux4.15实现early打印
  • 《零基础Go语言算法实战》【题目 4-2】使用 Go 语言实现一个模拟栈数据结构操作的类 FrequencyStack
  • 智能制造智慧工业4.0大数据平台建设综合解决方案(PPT原件)
  • element-ui动态设置tabel的columns时,切换columns数据表格抖动
  • 30分钟内搭建一个全能轻量级springboot 3.4 + 脚手架 <1> 5分钟快速创建一个springboot web项目
  • MATLAB学习笔记-table
  • C++实现设计模式---代理模式 (Proxy)
  • 【Uniapp-Vue3】vite.config中安装插件unplugin-auto-import自动导入vue和uniapp
  • nginx的可视化配置工具nginxWebUI的使用
  • 2.0 机器学习任务攻略
  • JAVA之单例模式
  • 【2024年华为OD机试】 (B卷,100分)- 矩形相交的面积(Java JS PythonC/C++)
  • 【MacOS】恢复打开系统设置的安全性的允许以下来源的应用程序的“任何来源”
  • 掌控 JMeter 测试节奏:Once Only Controller 让关键操作 “一步到位”
  • FPGA EDA软件的位流验证