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

Python的PyQt框架的使用-资源文件夹的使用

Python的PyQt框架的使用-资源文件夹的使用

  • 一、前言
  • 二、Qt Designer加载资源文件
  • 三、资源文件的转换


一、前言

  • 个人主页: ζ小菜鸡
  • 大家好我是ζ小菜鸡,小伙伴们,让我们一起来学习Python的PyQt框架的使用。
  • 如果文章对你有帮助、欢迎关注、点赞、收藏(一键三连)

二、Qt Designer加载资源文件

   Qt Designer 工具中设计程序界面时,是不可以直接使用图片和图标等资源的,而是需要通过资源浏览器添加图片或图标等资源,具体步骤如下:

   (1)在Python的项目路径中创建一个名称为“images”文件夹,然后将需要的图片保存在该文件夹中,打开Qt Designer 工具,在右下角的资源浏览器中单击“编辑资源”的按钮,如图所示:

在这里插入图片描述


   (2)在弹出的“编辑资源”对话框中,单击左下角的第一个按钮“新建资源文件”,如图所示:

在这里插入图片描述


   (3)在“新建资源文件”的对话中,首先选择该资源文件保存的路径为当前Python的项目路径,然后设置文件名称为“img”,保存类型为“资源文件(*.qrc)”,最后单击“保存”按钮,如图所示:

在这里插入图片描述


   (4)单击“保存”按钮后,将自动返回至“编辑资源”对话框中,然后在该对话框中选择“添加前缀”按钮,设置前缀为“png”,再单击“添加文件”按钮,如图所示:

在这里插入图片描述


   (5)在“添加文件”的对话框中选择需要添加的图片文件,然后单击“打开”按钮即可,如图所示:
在这里插入图片描述
在这里插入图片描述


   (6)图片添加完成以后,将自动返回至“编辑资源”的对话框,在该对话框中直接单击OK按钮即可,然后资源浏览器将显示添加的图片资源,如图所示:

在这里插入图片描述
说明: 设置的前缀,是我们自己定义的路径前缀,用于区分不同的资源文件。


   (7)创建主窗体,然后向主窗体中拖入一个Label控件,将控件的大小尺寸设置与图片相同,然后找到pixmap属性,在右侧值的位置选择刚刚创建的图片资源,如图所示:

在这里插入图片描述


   (8)图片资源选择完成以后,主窗体中的Label控件将显示如图所示的效果:

在这里插入图片描述


三、资源文件的转换

  在Qt Designer 工具中已经了解了如何创建图片资源与图片使用,然后将已经设计好的.ui文件转换为.py文件,转换后代码中将显示如图所示的提示信息。

在这里插入图片描述
  上图中的提示信息说明img_rc模块导入出现异常,所以此处需要将已经创建好的img.qrc资源文件转换为.py文件,这样主窗体的.py文件才可以正常显示,资源文件转换的具体步骤如下:

  (1)进入PyCharm的设置页面,添加将 .qrc文件转换为 .py文件的快捷工具,在“name:”所对应的编辑框中填写工具名称为“qrcTopy”,然后在“Program:”所对应的编辑框填写pyrce.exe的安装路径,再在“Arguments:”所对应的编辑框中填写转换代码“$ FileName$ -o $ FileNameWithoutExtension$ _rc.py”,在“Working directory:”所对应的编辑框中填写“$ FileDir$”,该值为文件目录,单击OK按钮即可,如图所示:
在这里插入图片描述


  (2)转换资源文件的快捷工具创建完成以后,鼠标左键选中要转换的.qrc文件,然后在顶部的工具栏中依次选择“Tools”-“External Tools”-“qrc.Topy”选项,此时在.qrc文件的下面会自动生成相对应的.py文件,如图所示:

在这里插入图片描述


  (3)文件转换完成后,如上图的报错信息将会消失,然后导入sys模块,在代码块的最外层创建show_Main Windw()方法,模拟Python的程序入口,然后调用显示窗体的show_Main Windw()方法,最后运行主体文件,显示主窗体界面如图所示:

在这里插入图片描述


  Python的PyQt框架的使用-资源文件夹的使用篇的介绍,到此就结束了,感谢大家阅读,如果文章对你有帮助、欢迎关注、点赞、收藏(一键三连)


http://www.lryc.cn/news/17809.html

相关文章:

  • 如何遍历HashMap
  • 11技术太卷我学APEX-数据加载
  • JVM记录
  • 盘点机器学习实战中最频繁使用的AutoML工具库
  • 50-Jenkins-Lockable Resources插件实现资源锁定
  • 测试员,如果未来5年你不想失业……你得学会自动化测试
  • 腾讯开源的 hel 提供了加载远程模块的能力,谈谈它的实现原理
  • 【运动控制】CNC三轴小线段路径规划
  • 渗透测试之DNS域名信息探测实验
  • ASE140N04-ASEMI低压MOS管ASE140N04
  • Qt——QLineEdit
  • 前端-HTML-zxst
  • 终极方案,清理 docker 占用磁盘过大问题, 亲测有效!
  • puzzle(1321)时间旅人
  • 活动预告 | 2023 Meet TVM 开年首聚,上海我们来啦!
  • CoreIDRAW 软件的强大功能及适用性
  • JavaScript Window History
  • 2023年人力资源管理师报名和培训费用是多少
  • 2023-2-23 刷题情况
  • 数据归档,存储的完美储备军
  • ES6-11、基本全部语法
  • Spring Boot整合Thymeleaf和FreeMarker模板
  • SQL的四种连接-左外连接、右外连接、内连接、全连接
  • “点工”的觉悟,5年时间从7K到24K的转变,我的测试道路历程~
  • 【Web安全-MSF记录篇章一】
  • 配置Flutter开发环境
  • 23年六级缓考
  • 低代码选型,论协同开发的重要性
  • 【第二十二部分】游标
  • 【面试题】2023高频前端面试题20题