PyQt5编程扩展之资源文件的使用教程

 更新时间:2023年03月03日 10:31:09   作者:会洗碗的CV工程师  
PyQt5支持Qt的资源系统,这是用于在应用程序中嵌入图片和翻译文件等资源的工具,下面这篇文章主要给大家介绍了关于PyQt5编程扩展之资源文件使用的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下

本例运行效果:

 设计Qt窗体 

建立项目

项目路径:e:\baikejia\bkj3-2,项目名QtApp,基类选择QWidget

放一个Group Box

命名为groupBox_Age,title为年龄设置

放三个Label

显示如图

放一个Horizontal Slider

放一个Horizontal Slider,命名为sliderSetAge,minimum属性0,maximum属性为100

放两个Line Edit

分别命名为editAgeInt和editAgeStr

层次结构 

布局

布局前窗体

选中GroupBox,然后点击工具栏的栅格布局按钮

窗体变成这样

放一个Group Box

命名为groupBox_Name,title为姓名设置

放两个Label

放两个Line Edit

分别命名为editNameInput和editNameHello,其中editNameInput的text属性设为Mike

放一个Push Button

命名为btnSetName,text设置为“设置姓名”

层次结构

布局

布局前窗体

选中GroupBox,然后点击工具栏的栅格布局按钮

放一个frame

命名为frame_Button 

在上面放一个Push Button和四个Horizontal Spacer

其中Push Button命名为btnClose,text设置为“关闭” 

层次结构

布局

布局前窗体

选中frame,设定水平布局

窗体总布局

点击窗体空白处,选中窗体,按垂直布局按钮,将窗体总布局设为垂直布局

适当缩小窗体

关闭按钮功能

点Edit Signals/Slots工具,鼠标左键放到关闭按钮上拖到窗口空白处

创建和使用资源文件

新建资源文件

Qt Creator中新建资源文件,命名为res.qrc

 在项目文件目录树中,会自动出现Resources文件组和res.qrc文件

编辑资源文件

在文件res.qrc上点击右键,选择Open In Editor

新建前缀

前缀的意思就是资源的分组

点Add Prefix

显示如下

将前缀改名为icons

新建放资源文件的目录

原QtApp目录文件如下

在这个目录下新建images文件夹

将所有图标文件放到images文件夹里面

添加图标文件

点Add Files

添加如下几个图标文件

点击上方的×,关闭资源编辑器 

引用图标文件

如果要在代码里面使用app.ico图标文件,其引用名称是

:/icons/images/app.ico

使用图标文件

回到窗体编辑器,点击“设置姓名”按钮

在对应的属性框中找到icon属性

点击icon右侧的输入框,点击右侧下拉箭头,然后点选择资源

选择322.bmp当图标

设好后,按钮就有图标了

同样,为关闭按钮选择132.bmp作为图标

资源文件的编译

窗体UI文件用到了资源文件后,只能在Qt目录下进行编译

编译前

编译窗体文件

拷贝编译后的窗体文件和资源文件

将编译后的两个py文件拷贝到e:\baikejia\bkj3-2目录中

打开Ui_Widget.py文件,可以看到文件最后有一行import res_rc

窗体业务逻辑类的设计

 复制human.py文件 

将3-1中建好的human.py文件复制到e:\baikejia\bkj3-2目录中

 新建Eric6项目 

 新建myWidget.py文件 

采用单继承方法设计一个窗体业务逻辑类QmyWidget,保存在myWidget.py中。代码如下: 

 运行程序

现在里面的按钮都是没有用的,注意看左上角的图标 

设置应用程序图标

增加如上红框内两段代码,运行程序,发现图标变了

 增加如下human相关代码 

年龄设置滚动条

在Qt中

在Eric6中添加代码

设置姓名按钮

在Qt中

在Eric6中添加代码

自定义信号

添加红色框中代码

运行程序

年龄设置

点击年龄滚动条,可以看到下面两个框框内的变化

姓名设置

关闭按钮

点击关闭按钮,程序退出

总结

到此这篇关于PyQt5编程扩展之资源文件的使用的文章就介绍到这了,更多相关PyQt5资源文件的使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python实现发送带有pdf附件的电子邮件

    Python实现发送带有pdf附件的电子邮件

    使用Python发邮件,是个简单的话题,可是如何可以优雅的轻松的群发邮件,并附加PDF附件,是很多小伙伴的日常工作。本文就来和大家分享一下实现方法,需要的可以参考一下
    2023-02-02
  • Python3.5基础之NumPy模块的使用图文与实例详解

    Python3.5基础之NumPy模块的使用图文与实例详解

    这篇文章主要介绍了Python3.5基础之NumPy模块的使用,结合图文与实例形式详细分析了Python3.5中Numpy模块的原理、功能、使用方法及操作注意事项,需要的朋友可以参考下
    2019-04-04
  • Python Web服务器Tornado使用小结

    Python Web服务器Tornado使用小结

    最近在做一个网站的后端开发。因为初期只有我一个人做,所以技术选择上很自由。在 web 服务器上我选择了 Tornado。虽然曾经也读过它的源码,并做过一些小的 demo,但毕竟这是第一次在工作中使用,难免又发现了一些值得分享的东西
    2014-05-05
  • Django 中使用流响应处理视频的方法

    Django 中使用流响应处理视频的方法

    这篇文章主要介绍了Django 中使用流响应处理视频的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • Python中利用aiohttp制作异步爬虫及简单应用

    Python中利用aiohttp制作异步爬虫及简单应用

    asyncio可以实现单线程并发IO操作,是Python中常用的异步处理模块。这篇文章主要介绍了Python中利用aiohttp制作异步爬虫的相关知识,需要的朋友可以参考下
    2018-11-11
  • python opencv捕获摄像头并显示内容的实现

    python opencv捕获摄像头并显示内容的实现

    这篇文章主要介绍了python opencv捕获摄像头并显示内容的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • Python中sort和sorted函数代码解析

    Python中sort和sorted函数代码解析

    这篇文章主要介绍了Python中sort和sorted函数代码解析,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • TensorFlow安装及jupyter notebook配置方法

    TensorFlow安装及jupyter notebook配置方法

    下面小编就为大家带来一篇TensorFlow安装及jupyter notebook配置方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • python模块的安装以及安装失败的解决方法

    python模块的安装以及安装失败的解决方法

    Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句。模块让你能够有逻辑地组织你的 Python 代码段。把相关的代码分配到一个模块里能让你的代码更好用,更易懂。模块能定义函数,类和变量,模块里也能包含可执行的代码
    2021-11-11
  • 一个小示例告诉你Python语言的优雅之处

    一个小示例告诉你Python语言的优雅之处

    本篇中, 我们展示一下一段非常小的代码, 这段代码十分吸引我们, 因为它使用十分优雅和直接的方式解决了一个常见的问题.
    2014-07-07

最新评论