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

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

目录

本例运行效果:

设计Qt窗体

建立项目

放一个Group Box

放三个Label

放一个Horizontal Slider

放两个Line Edit

层次结构 

布局

放一个Group Box

 放两个Label

放两个Line Edit

放一个Push Button

层次结构

布局

放一个frame

层次结构

布局

窗体总布局

关闭按钮功能

创建和使用资源文件

新建资源文件

编辑资源文件

新建前缀

新建放资源文件的目录

添加图标文件

引用图标文件

使用图标文件

资源文件的编译

编译前

编译窗体文件

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

窗体业务逻辑类的设计

复制human.py文件

新建Eric6项目

新建myWidget.py文件

设置应用程序图标

增加如下human相关代码

年龄设置滚动条

设置姓名按钮

自定义信号

运行程序

年龄设置

姓名设置

关闭按钮


本例运行效果:

设计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编程扩展 3.2 资源文件的使用

目录 本例运行效果: 设计Qt窗体 建立项目 放一个Group Box 放三个Label 放一个Horizontal Slider 放两个Line Edit 层次结构 布局 放一个Group Box 放两个Label 放两个Line Edit 放一个Push Button 层次结构 布局 放一个frame 层次结构 布局 窗体…...

Linux系统之文件共享目录设置方法

Linux系统之文件共享目录设置方法一、本次实践目的二、检查本地系统环境1.检查系统版本2.检查系统内核三、创建相关用户及用户组1.创建共享目录2.创建测试用户账号3.创建用户组4.设置用户的属组5.查看admin和IT用户组成员6.查看所有用户信息四、共享目录权限设置1.设置/data/so…...

上海亚商投顾:三大指数均涨超1% 芯片板块集体大涨

上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。市场情绪三大指数今日低开高走,午后集体涨超1%,创业板指盘中涨超1.7%。芯片板块集体大涨,…...

Harbor私有仓库部署与管理

目录 前言 一、Harbor概述 二、Harbor 的特性 三、Harbor的构成 四、Harbor构建Docker私有仓库 1、环境配置 2、案例需求 3、部署Harbor服务 3.1、部署docker compose服务 3.2 下载或上传Harbor安装程序 3.3、启动Harbor 3.4、查看Harbor启动镜像 4、物理机访问se…...

互联网架构之 “高可用” 详解

一、什么是高可用 高可用HA(High Availability)是分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计减少系统不能提供服务的时间。 假设系统一直能够提供服务,我们说系统的可用性是100%。 如果系统每运行…...

分布式高级篇4 —— 商城业务(2)

一、订单服务1、订单基本概念2、订单基本构成3、订单状态4、订单流程5、配置拦截器拦截订单请求6、订单确认页模型抽取7、订单确认页vo封装8、Feign 远程调用请求头丢失问题\*\*\*\*\* 惨痛教训9、Feign 异步调用请求头丢失问题10、查看库存状态11、模拟计算运费12、接口幂等性…...

二分查找基本原理

二分查找基本原理1.二分查找1.1 基本概念1.2 二分查找查找步骤1.2.1 中间索引不能整除,取整数作为中间索引1.2.2 索引不能整除,整数1作为中间索引1.3 二分查找大O记法表示2. 二分查找代码实现1.二分查找 1.1 基本概念 二分法(折半查找)是一…...

【Python实战案例】Python3网络爬虫:“可惜你不看火影,也不明白这个视频的分量......”m3u8视频下载,那些事儿~

前言 哈喽!上午好嘞,各位小可爱们!有没有等着急了呀~ 由于最近一直在学习新的内容,所以耽搁了一下下,抱歉.jpg 双手合十。 所有文章完整的素材源码都在👇👇 粉丝白嫖源码福利,请移…...

UE4:使用样条生成随机路径,并使物体沿着路径行走

一、关于样条的相关知识 参考自:样条函数 - 馒头and花卷 - 博客园 三次样条(cubic spline)插值 - 知乎 B-Spline(三)样条曲线的性质 - Fun With GeometryFun With Geometry 个人理解的也不是非常深,但是大概要知道的就是样条具…...

计算机组成原理(判断题)

计算机控制器是根据事先编好的程序,根据其指令来进行控制只会每一步骤的操作; 面向主存的双总线结构计算机系统,因在CPU与主存之间增加了一组存储器总线,由于通过存储器总线访存,提高了CPU的访存速度,也减轻…...

error: failed to push some refs to ... 就这篇,一定帮你解决

目录 一、问题产生原因 二、解决办法 三、如果还是出问题,怎么办?(必杀) 一、问题产生原因 当你直接在github上在线修改了代码,或者是直接向某个库中添加文件,但是没有对本地库同步,接着你想…...

DAMA数据管理知识体系指南之数据仓库和商务智能管理

第9章 数据仓库和商务智能管理 9.1简介 数据仓库(Data Warehouse,DW)由两个主要部分构成:首先是一个整合的决策支持数据库,其次是用于收集、清洗、转换、存储来自于各种操作型数据源和外部数据源数据的相关软件程序。两者结合以支持历史的、…...

PHP的五种常见设计模式

工厂模式 最初在设计模式 一书中,许多设计模式都鼓励使用松散耦合。要理解这个概念,让我们最好谈一下许多开发人员从事大型系统的艰苦历程。在更改一个代码片段时,就会发生问题,系统其他部分 —— 您曾认为完全不相关的部分中也有…...

教你搞懂线段树,从基础到提高

秋名山码民的主页 🎉欢迎关注🔎点赞👍收藏⭐️留言📝 🙏作者水平有限,如发现错误,还请私信或者评论区留言! 目录前言线段树逻辑概念线段树的俩个重要用处代码实现线段树题目巩固最后…...

C语言进阶——自定义类型:结构体

🌇个人主页:_麦麦_ 📚今日名言:生活不可能像你想象的那么好,也不会像你想象的那么糟。——莫泊桑《羊脂球》 目录 一、前言 二、正文 1结构体 1.1结构体的基础知识 1.2结构的声明 1.3特殊的声明 1.4结构体变量的…...

SpringSecurity学习笔记01

目录 一、课程介绍 二、框架概述 三、入门案例 四、基本原理(过滤器链) 五、基本原理(过滤器加载过程) 六、基本原理(两个重要的接口) 七、web权限方案-用户认证(设置用户名密码上) 八、…...

Python语言零基础入门教程(十一)

Python 列表(List) 序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。 Python有6个序列的内置类型,但最常见的是列表和元组。 序列都可以…...

现货白银基础知识

任何活动,任何项目,任何工作都离不开基础知识,这是肯定的。万丈高楼平地起,要想要简称百层高楼,首先得把低级打好!现货白银投资也是一样的道理,现在我们就来一起聊聊现货白银基础知识的问题&…...

数据库原理及应用基础知识点

数据库原理基础知识点大全数据库原理及应用1、数据库系统概述1.1 基本概念1.2 数据模型1.3 数据库系统的结构2、实体 -- 联系模型2.1 基本概念2.2 实体-联系图2.3 弱实体集3、关系数据模型3.1 关系数据库的结构3.2 从ER模型到关系模型3.3 关系操作、完整性约束、关系代数4、关系…...

【数据结构】栈(stack)

写在前面本篇文章开始讲解栈的有关知识,其实把顺序表和链表学好,那么这一章便不在话下,栈实际上就是顺序表或链表的一些特殊情况。用顺序表实现的栈叫做顺序栈用链表实现的栈叫做链栈文章的内容分为几个部分,希望读者能快速了解文…...

基于服务器使用 apt 安装、配置 Nginx

🧾 一、查看可安装的 Nginx 版本 首先,你可以运行以下命令查看可用版本: apt-cache madison nginx-core输出示例: nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...

Spring Boot面试题精选汇总

🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...

ArcGIS Pro制作水平横向图例+多级标注

今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作:ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等(ArcGIS出图图例8大技巧),那这次我们看看ArcGIS Pro如何更加快捷的操作。…...

接口自动化测试:HttpRunner基础

相关文档 HttpRunner V3.x中文文档 HttpRunner 用户指南 使用HttpRunner 3.x实现接口自动化测试 HttpRunner介绍 HttpRunner 是一个开源的 API 测试工具,支持 HTTP(S)/HTTP2/WebSocket/RPC 等网络协议,涵盖接口测试、性能测试、数字体验监测等测试类型…...

Unity UGUI Button事件流程

场景结构 测试代码 public class TestBtn : MonoBehaviour {void Start(){var btn GetComponent<Button>();btn.onClick.AddListener(OnClick);}private void OnClick(){Debug.Log("666");}}当添加事件时 // 实例化一个ButtonClickedEvent的事件 [Formerl…...

根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的----NTFS源代码分析--重要

根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的 第一部分&#xff1a; 0: kd> g Breakpoint 9 hit Ntfs!ReadIndexBuffer: f7173886 55 push ebp 0: kd> kc # 00 Ntfs!ReadIndexBuffer 01 Ntfs!FindFirstIndexEntry 02 Ntfs!NtfsUpda…...

LLaMA-Factory 微调 Qwen2-VL 进行人脸情感识别(二)

在上一篇文章中,我们详细介绍了如何使用LLaMA-Factory框架对Qwen2-VL大模型进行微调,以实现人脸情感识别的功能。本篇文章将聚焦于微调完成后,如何调用这个模型进行人脸情感识别的具体代码实现,包括详细的步骤和注释。 模型调用步骤 环境准备:确保安装了必要的Python库。…...

sshd代码修改banner

sshd服务连接之后会收到字符串&#xff1a; SSH-2.0-OpenSSH_9.5 容易被hacker识别此服务为sshd服务。 是否可以通过修改此banner达到让人无法识别此服务的目的呢&#xff1f; 不能。因为这是写的SSH的协议中的。 也就是协议规定了banner必须这么写。 SSH- 开头&#xff0c…...

基于开源AI智能名片链动2 + 1模式S2B2C商城小程序的沉浸式体验营销研究

摘要&#xff1a;在消费市场竞争日益激烈的当下&#xff0c;传统体验营销方式存在诸多局限。本文聚焦开源AI智能名片链动2 1模式S2B2C商城小程序&#xff0c;探讨其在沉浸式体验营销中的应用。通过对比传统品鉴、工厂参观等初级体验方式&#xff0c;分析沉浸式体验的优势与价值…...

Python环境安装与虚拟环境配置详解

本文档旨在为Python开发者提供一站式的环境安装与虚拟环境配置指南&#xff0c;适用于Windows、macOS和Linux系统。无论你是初学者还是有经验的开发者&#xff0c;都能在此找到适合自己的环境搭建方法和常见问题的解决方案。 快速开始 一分钟快速安装与虚拟环境配置 # macOS/…...