PyQt5之QtDesigner的若干配置和使用

news2025/2/1 3:38:00

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配置为外部工具,其中实参同上

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

侯捷C++day01

一个类该准备什么样的数据、函数。才能满足使用这个类人的需求。 inline关键字是建议编译器做inline处理。 private只有本类可以看到。 C创建对象会自动调用构造函数。不可能在程序中显示调用构造函数。不带指针的类多半不用写析构函数。 以下两个重载构造函数会发生错误 不允许…

CTF-web: phar反序列化+数据库伪造 [DASCTF2024最后一战 strange_php]

step 1 如何触发反序列化? 漏洞入口在 welcome.php case delete: // 获取删除留言的路径,优先使用 POST 请求中的路径,否则使用会话中的路径 $message $_POST[message_path] ? $_POST[message_path] : $_SESSION[message_path]; $msg $userMes…

Win11下帝国时代2无法启动解决方法

鼠标右键点图标,选择属性 点开始,输入启用和关闭

GSI快速收录服务:让你的网站内容“上架”谷歌

辛苦制作的内容无法被谷歌抓取和展示,导致访客无法找到你的网站,这是会让人丧失信心的事情。GSI快速收录服务就是为了解决这种问题而存在的。无论是新上线的页面,还是长期未被收录的内容,通过我们的技术支持,都能迅速被…

mysql_init和mysql_real_connect的形象化认识

解析总结 1. mysql_init 的作用 mysql_init 用于初始化一个 MYSQL 结构体,为后续数据库连接和操作做准备。该结构体存储连接配置及状态信息,是 MySQL C API 的核心句柄。 示例: MYSQL *conn mysql_init(NULL); // 初始化连接句柄2. mysql_…

python学opencv|读取图像(四十九)原理探究:使用cv2.bitwise()系列函数实现图像按位运算

【0】基础定义 按位与运算:两个等长度二进制数上下对齐,全1取1,其余取0。 按位或运算:两个等长度二进制数上下对齐,有1取1,其余取0。 按位异或运算: 两个等长度二进制数上下对齐,相…

基础项目实战——学生管理系统(c++)

目录 前言一、功能菜单界面二、类与结构体的实现三、录入学生信息四、删除学生信息五、更改学生信息六、查找学生信息七、统计学生人数八、保存学生信息九、读取学生信息十、打印所有学生信息十一、退出系统十二、文件拆分结语 前言 这一期我们来一起学习我们在大学做过的课程…

春节期间,景区和酒店如何合理用工?

春节期间,景区和酒店如何合理用工? 春节期间,旅游市场将迎来高峰期。景区与酒店,作为旅游产业链中的两大核心环节,承载着无数游客的欢乐与期待。然而,也隐藏着用工管理的巨大挑战。如何合理安排人力资源&a…

Linux Samba 低版本漏洞(远程控制)复现与剖析

目录 前言 漏洞介绍 漏洞原理 产生条件 漏洞影响 防御措施 复现过程 结语 前言 在网络安全的复杂生态中,系统漏洞的探索与防范始终是保障数字世界安全稳定运行的关键所在。Linux Samba 作为一款在网络共享服务领域应用极为广泛的软件,其低版本中…

【Numpy核心编程攻略:Python数据处理、分析详解与科学计算】1.27 线性代数王国:矩阵分解实战指南

1.27 线性代数王国:矩阵分解实战指南 #mermaid-svg-JWrp2JAP9qkdS2A7 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-JWrp2JAP9qkdS2A7 .error-icon{fill:#552222;}#mermaid-svg-JWrp2JAP9qkdS2A7 .erro…

初二回娘家

昨天下午在相亲相爱一家人群里聊天,今天来娘家拜年。 聊天结束后,开始准备今天的菜肴,梳理了一下,凉菜,热菜,碗菜。 上次做菜,粉丝感觉泡的不透,有的硬,这次使用开水浸泡…

【Block总结】PKI 模块,无膨胀多尺度卷积,增强特征提取的能力|即插即用

论文信息 标题: Poly Kernel Inception Network for Remote Sensing Detection 作者: Xinhao Cai, Qiuxia Lai, Yuwei Wang, Wenguan Wang, Zeren Sun, Yazhou Yao 论文链接:https://arxiv.org/pdf/2403.06258 代码链接:https://github.com/NUST-Mac…

Blazor-@bind

数据绑定 带有 value属性的标记都可以使用bind 绑定&#xff0c;<div>、<span>等非输入标记&#xff0c;无法使用bind 指令的&#xff0c;默认绑定了 onchange 事件&#xff0c;onchange 事件是指在输入框中输入内容之后&#xff0c;当失去焦点时执行。 page &qu…

架构技能(六):软件设计(下)

我们知道&#xff0c;软件设计包括软件的整体架构设计和模块的详细设计。 在上一篇文章&#xff08;见 《架构技能&#xff08;五&#xff09;&#xff1a;软件设计&#xff08;上&#xff09;》&#xff09;谈了软件的整体架构设计&#xff0c;今天聊一下模块的详细设计。 模…

C++并发编程指南07

文章目录 [TOC]5.1 内存模型5.1.1 对象和内存位置图5.1 分解一个 struct&#xff0c;展示不同对象的内存位置 5.1.2 对象、内存位置和并发5.1.3 修改顺序示例代码 5.2 原子操作和原子类型5.2.1 标准原子类型标准库中的原子类型特殊的原子类型备选名称内存顺序参数 5.2.2 std::a…

MySQL 容器已经停止(但仍然存在),但希望重新启动它,并使它的 3306 端口映射到宿主机的 3306 端口是不可行的

重新启动容器并映射端口是不行的 由于你已经有一个名为 mysql-container 的 MySQL 容器&#xff0c;你可以使用 docker start 启动它。想要让3306 端口映射到宿主机是不行的&#xff0c;实际上&#xff0c;端口映射是在容器启动时指定的。你无法在容器已经创建的情况下直接修改…

春晚舞台上的人形机器人:科技与文化的奇妙融合

文章目录 人形机器人Unitree H1的“硬核”实力传统文化与现代科技的创新融合网友热议与文化共鸣未来展望&#xff1a;科技与文化的更多可能结语 2025 年央视春晚的舞台&#xff0c;无疑是全球华人目光聚焦的焦点。就在这个盛大的舞台上&#xff0c;一场名为《秧BOT》的创意融合…

将pandas.core.series.Series类型的小数转化成百分数

大年初二&#xff0c;大家过年好&#xff0c;蛇年行大运&#xff01; 今天在编写一个代码的时候&#xff0c;使用 import pandas as pd产生了pandas.core.series.Series类型的数据&#xff0c;里面有小数&#xff0c;样式如下&#xff1a; 目的&#xff1a;将这些小数转化为百…

详细解释java当中的所有知识点(前言及数据类型及变量)(第一部分)

会将java当中的所有的知识点以及相关的题目进行分享&#xff0c;这是其中的第一部分&#xff0c;用红色字体标注出重点&#xff0c;以及加粗的方式进行提醒 目录 一、Java语言概述 1.Java语言简介 2.语言优势 二、main方法 1.Java程序结构组成 2.运行Java程序 3.注释 4.…

字节iOS面试经验分享:HTTP与网络编程

字节iOS面试经验分享&#xff1a;HTTP与网络编程 &#x1f31f; 嗨&#xff0c;我是LucianaiB&#xff01; &#x1f30d; 总有人间一两风&#xff0c;填我十万八千梦。 &#x1f680; 路漫漫其修远兮&#xff0c;吾将上下而求索。 目录 字节iOS面试经验分享&#xff1a;HTT…