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

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


http://www.kler.cn/a/520689.html

相关文章:

  • 读书笔记--分布式服务架构对比及优势
  • Unity中关于实现 管道水流+瀑布流动+大肠蠕动效果笔记
  • 日志收集Day007
  • 关于MySQL InnoDB存储引擎的一些认识
  • 大数据之路:阿里巴巴大数据实践(1)
  • 引领产品创新: 2025 年 PM 效能倍增法则
  • pyautogui操控Acrobat DC pro万能PDF转Word,不丢任何PDF格式样式
  • 【识别代码截图OCR工具】
  • 牛客训练营(二)
  • FPGA实现任意角度视频旋转(完结)视频任意角度旋转实现
  • Vue.js组件开发-实现对视频预览
  • 11 蚂蚁链技术特性
  • 农产品价格报告爬虫使用说明
  • Prompt 编写进阶指南
  • 快速构建springboot+java+mongodb新闻发布系统简单Demo
  • Ansible入门学习之基础元素介绍
  • 第23章 质量至上与家庭交底
  • 从崩溃难题看 C 标准库与 Rust:线程安全问题引发的深度思考
  • Leetcode100热题——盛水最多容器
  • Nginx前端后端共用一个域名如何配置
  • 机密信息密送- 文字加密解密
  • Vue.js组件开发-实现多个文件附件压缩下载
  • 力扣-链表-203 移除链表元素
  • 大模型训练策略与架构优化实践指南
  • ES6+新特性,var、let 和 const 的区别
  • 分布式系统学习10:分布式事务