PyQt5之QtDesigner的若干配置和使用

1.描述

QtDesigner是一个可视化工具,可以通过该工具设计页面

2.简单使用

1.下载PyQt5-tools

 pip install pyqt5-tools

2.打开designer.exe文件

我采用的是虚拟环境,该文件位于C:\Users\24715\anaconda3\envs\pyqt\Lib\site-packages\qt5_applications\Qt\bin下

点击后进入这样一个界面

我们点击一下左上方的widget,然后点击创建即可创建一个空白组件

左侧有一系列控件,可以将所需控件添加进去

右侧即可编辑属性

我们可以在右侧将单行输入框设置为密码框。使用ctrl+r快捷键,可以预览密码框

当我们想为按钮添加一个信号/槽时,我们点击左上角的Edit,然后就能看到编辑信号/槽的选项,点击后跳转到你的控件界面,然后按住按钮拖动,就会出现一个选择器

我们点击左侧的clicked,随后点击右侧编辑按钮

我们可以添加一个login槽

点击ok后退出,就可以选中新建的槽,然后点击ok

我们再次选中Edit中的编辑窗口即可回到之前页面。

我们在右侧属性编辑器搜索,可以看到styleSheet,可以在里面编辑样式

点击ok之后,样式就会被应用上

若我们需要设置背景图片,我们可以点击添加资源,选择背景图片,这里是没有资源的。

点击左上角的铅笔后,可以编辑资源

点击左下角第一个,即可新建资源文件。

我们选择一个路径,然后输入文件名,即可新建一个文件

右侧第一个按钮是添加前缀

右侧第二个按钮是添加资源,我们在里面上传了一个图片资源

随后我们点击选中我们上传的图片资源,点击ok即可添加样式。

此时,我们按下ctrl+s保存,选择路径,即可保存我们的ui文件。

我们需要将ui文件转换为py文件。

先进入pyuic5.exe文件所在目录下:C:\Users\24715\anaconda3\envs\pyqt\Scripts

然后在命令行运行命令

 pyuic5.exe ui文件 -o 转换后的py文件
 # 示例:pyuic5.exe F:\QT\代码\untitled.ui -o F:\QT\代码\login.py

此时你会发现,你所写路径出现了一个新的py文件。这个ui文件是无法运行的,里面只有一个类。我们可以使用命令

 pyuic5.exe ui文件 -o 转换后的py文件 -x
 # 示例:pyuic5.exe F:\QT\代码\untitled.ui -o F:\QT\代码\login.py -x

此时就可以运行了。

运行时会报错,显示没有资源文件,实际上就是我们之前创建的,后缀名为qrc的文件。我们也需要将该文件转化为py文件

 pyrcc5.exe qrc文件 -o 转化后的py文件
 # pyrcc5.exe F:\QT\source\login_soure.qrc -o F:\QT\source\login_soure_rc.py

转化时可能会报错,很有可能是因为资源路径问题,可以考虑更改路径后再次尝试。

转化结束后,建议将上述py文件放在同一个路径下再次运行。

再次运行依旧会报错,因为我们之前为按钮添加过一个槽,但是我们并没有为其编辑一个函数。当我们为其添加一个函数后,就可以顺利运行了。

3.pycharm配置外部程序

打开pycharm进去设置,找到外部工具

配置qtdesigner:输入名称、描述,选择该文件的路径,然后选择工作目录。工作目录左侧有一个+,可以选择动态目录,找到ProjectFileDir选中

配置pyuic5:输入名称、描述,选择该程序的路径,传入实参 $FileName$ -o $FileNameWithoutExtension$.py -x (也可以自定义),随后选择工作目录

此时我们右键选择ui文件,然后选择外部工具中的UI-PU_run,即可将其转化为可执行py文件。

同理,我们将pyrcc5配置为外部工具,其中实参同上

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/959364.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【高项】6.3 排列活动顺序 ITTO

输入 项目管理计划组件: ① 进度管理计划;② 范围基准 项目文件: ① 假设日志;② 活动属性;③ 活动清单;④ 里程碑清单 工具与技术 紧前关系绘图法(PDM) ① 完成到开始&…

Elasticsearch 自定义分成器 拼音搜索 搜索自动补全 Java对接

介绍 通常用于将文档中的文本数据拆分成易于索引的词项(tokens)。有时,默认的分词器无法满足特定应用需求,这时就可以创建 自定义分词器 来实现定制化的文本分析。 自定义分词器组成 Char Filters(字符过滤器&#x…

Leecode刷题C语言之完成所有交易的初始最少钱数

执行结果:通过 执行用时和内存消耗如下&#xff1a; long long minimumMoney(int** transactions, int transactionsSize,int* transactionsColSize) {long long total_lose 0;int res 0;for (int i 0; i < transactionsSize; i) {int cost transactions[i][0];int cas…

案例研究丨浪潮云洲通过DataEase推进多维度数据可视化建设

浪潮云洲工业互联网有限公司&#xff08;以下简称为“浪潮云洲”&#xff09;成立于2018年&#xff0c;定位于工业数字基础设施建设商、具有国际影响力的工业互联网平台运营商、生产性互联网头部服务商。截至目前&#xff0c;浪潮云洲工业互联网平台连续五年入选跨行业跨领域工…

C++——动态管理

目录 一、C/C内存分布二、C语言中动态内存管理方式&#xff1a;malloc/calloc/realloc/free三、C内存管理方式3.1 new/delete操作内置类型3.2 new和delete操作自定义类型 四、operator new与operator delete函数4.1 operator new与operator delete函数 五、new和delete的实现原…

three.js+WebGL踩坑经验合集(4.1):THREE.Line2的射线检测问题(注意本篇说的是Line2,同样也不是阈值方面的问题)

上篇大家消化得如何了&#xff1f; 笔者说过&#xff0c;1级编号不同的两篇博文相对独立&#xff0c;所以这里笔者还是先给出完整代码&#xff0c;哪怕跟&#xff08;3&#xff09;没有太大区别。 这里我们把线的粗细调成5&#xff08;排除难选中的因素&#xff09;&#xff…

Vue2下篇

插槽&#xff1a; 基本插槽&#xff1a; 普通插槽&#xff1a;父组件向子组件传递静态内容。基本插槽只能有一个slot标签&#xff0c;因为这个是默认的位置&#xff0c;所以只能有一个 <!-- ParentComponent.vue --> <template> <ChildComponent> <p>…

【Unity3D】aab包太大无法上传Google问题

目录 一、勾选Split Application Binary&#xff0c;Unity直接打aab包 勾选Split Application Binary选项的影响 不勾选Split Application Binary选项的影响 总结 2、导出Android工程打包aab 一、勾选Split Application Binary&#xff0c;Unity直接打aab包 超出150MB部分…

第6章 数据结构—列表与列表项讲解--总结

整理 野火 《FreeRTOS 内核实现与应用开发实战指南》—基于野火 STM32 全系列&#xff08;M3/4/7&#xff09;开发板 文章目录 第6章 数据结构—列表与列表项讲解--总结6.1 C 语言链表简介6.1.1 单向链表6.1.2 双向链表6.1.3 链表与数组的对比 6.2 FreeRTOS 中链表的实现6.2.1 …

强化学习-Deep Q Network

文章目录 Deep Q Networkzip(*batch)的内部实现假设&#xff1a;结果&#xff1a; Deep Q Network 这种方式很适合格子游戏。因为格子游戏中的每一个格子就是一个状态&#xff0c;这是离散的&#xff0c;但在现实生活中&#xff0c;很多状态并不是离散而是连续的。所以我们可以…

C语言-构造数据类型

1、构造数据类型 结构体、共用体、枚举。 2、结构体 1、结构体的定义 结构体是一个自定义的复合数据类型&#xff0c;它允许将不同类型的数据组合在一起。 struct 结构体名 {数据类型1 成员变量1;数据类型2 成员变量2;数据类型3 成员变量3;数据类型4 成员变量4; } 2、结构体变…

FPGA实现任意角度视频旋转(二)视频90度/270度无裁剪旋转

本文主要介绍如何基于FPGA实现视频的90度/270度无裁剪旋转&#xff0c;旋转效果示意图如下&#xff1a; 为了实时对比旋转效果&#xff0c;采用分屏显示进行处理&#xff0c;左边代表旋转前的视频在屏幕中的位置&#xff0c;右边代表旋转后的视频在屏幕中的位置。 分屏显示的…

Spark/Kafka

文章目录 项目地址一、Spark1. RDD1.1 五大核心属性1.2 执行原理1.3 四种创建方式二、Kafka2.1 生产者(1)分区器(2)生产者提高吞吐量(3) 生产者数据可靠性数据传递语义幂等性和事务数据有序2.2 Broker(1)Broker工作流程(2)节点服役和退役2.3 副本(1)Follower故障细…

win32汇编环境,函数的编写与调用、传值或返回值等

;运行效果 ;win32汇编环境,函数的编写与调用、传值或返回值等 ;函数在被调用的时候&#xff0c;如果此函数实体在前面&#xff0c;可以不用声明。如果实体在后面&#xff0c;则需要先声明。类似于下面的DlgProc函数&#xff0c;因为它的实体在后面&#xff0c;所以需要在调用之…

[Spring] Gateway详解

&#x1f338;个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 &#x1f3f5;️热门专栏: &#x1f9ca; Java基本语法(97平均质量分)https://blog.csdn.net/2301_80050796/category_12615970.html?spm1001.2014.3001.5482 &#x1f355; Collection与…

回顾2024,展望2025

项目 LMD performance phase2 今年修修补补&#xff0c;设计和做了很多item&#xff0c;有时候自己都数不清做了什么大大小小的item&#xff0c;但是for LMD performance phase2的go-live确实是最大也是最难的了&#xff0c;无论什么系统&#xff0c;只要用的人多了&#xff…

旅游风景的代码项目

敦煌莫高窟&#xff1a;用代码打开千年艺术的大门 ——一个零基础也能看懂的神奇项目 前言&#xff1a;当古老艺术遇上现代代码 想象一下&#xff0c;你坐在电脑前&#xff0c;指尖轻轻一点&#xff0c;就能穿越到敦煌莫高窟——看飞天的衣袂飘飘、听千年的驼铃声声。这不是科…

解决lombok注解失效

问题描述 当出现使用lombok的注解, 但是找不到符号, 或者使用Getter注解却获取不到属性值 就像下面这样 原因: 新版本lombok自动引入了一个插件, 将下面这串代码删除后, 刷新并清除缓存即可解决

leetcode hot 100 搜索二维矩阵II

编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性&#xff1a; 每行的元素从左到右升序排列。每列的元素从上到下升序排列。 示例 1&#xff1a; 输入&#xff1a;matrix [[1,4,7,11,15],[2,5,8,12,19],[3,6,9,16,22],[10,13,14,17,2…

CentOS7安装使用containerd

一&#xff0c;安装 1.1、安装containerd 下载 https://github.com/containerd/containerd/releases/download/v1.7.24/cri-containerd-cni-1.7.24-linux-amd64.tar.gz wget https://github.com/containerd/containerd/releases/download/v1.7.24/cri-containerd-cni-1.7.24-…