百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

Python入坑系列-一起认识Pyside6 designer可拖拽桌面GUI

itomcoil 2025-06-24 14:28 12 浏览

通过本文章,你可以了解一下内容:

  1. 如何安装和使用Pyside6 designer
  2. designer有哪些的特性
  3. 通过designer如何转成python代码

以前以为Pyside6 designer需要在下载qt desinger才能使用拖拽的设计器,看完本文后你会发现原来这么简单。

1、环境信息

操作系统

Win11

python

3.10.6

pip

22.3.1

2、安装Pyside6 designer

可以使用下面的任意方式来安装Pyside6 designer

使用pycharm pip安装Pyside6

pip install pyside6
#使用阿里云pypi源
pip install pyside6 -i https://mirrors.aliyun.com/pypi/simple/

安装好后pyside designer在当前工程下面,目录env\Lib\site-packages\PySide6,如图:

使用本地环境安装

将pip命令设置成环境变量,在cmd运行命令

pip install pyside6 -i https://mirrors.aliyun.com/pypi/simple/

执行完后被安装到本地环境的Python\Python310\Lib\site-packages\PySide6目录下,如图:

3、使用Pyside6 designer

通过pycharm运行

(1)配置external tools

在pycharm导航菜单File->settings->Toos->External Tools下面,这里设置外部工具名称为:Pyside6 designer

说明:第五步设置designer文件保存目录,值为:$ProjectFileDir$,不过自己使用过程中没有用,设计器新建的后保存文件时还是需要指定保存目录。

(2)运行

在pycharm导航菜单Tools->Extrnal Tools

直接运行

在Lib\site-packages\PySide6目录下直接双击designer.exe文件,这样最简单,或者将designer.exe发送到桌面即可,以后都可以重桌面上面运行

运行后,界面效果如下:

支持创建窗口部件、模版和表单部件,感兴趣的可以安装尝试一下。注意选择某些部件,左侧很多控件集合不能正常拖拽

4、Pyside6 designer特性及界面介绍

PySide6 是 Qt for Python 的最新版本,提供了对 Qt 6 的绑定。它允许 Python 开发者使用 Qt,一个跨平台的 GUI 应用程序框架,来创建丰富的桌面应用程序。PySide6 包括了 Qt Designer,这是一个强大的工具,用于设计和构建 GUI 界面。

PySide6 Designer 的一些关键特性

  • 直观的拖放界面: 提供了一个直观的拖放界面,使得开发者可以不编写任何代码就设计 GUI。可以从工具箱中选择各种控件(如按钮、文本框、滑块等),并将它们拖放到窗口中。
  • 丰富的控件集合:提供了丰富的控件集合,包括基本控件、容器、对话框、菜单、工具栏和其他专用控件。这些控件支持广泛的 GUI 应用程序开发需求。
  • 属性编辑器:属性编辑器允许你修改控件的属性,如大小、颜色、字体和布局等。这使得定制和优化用户界面变得非常简单。
  • 信号与槽机制:Qt 的信号与槽机制是处理事件和通信的核心。在 Qt Designer 中,可以图形化地连接控件的信号和槽,实现控件之间的交互,而无需编写复杂的代码。
  • 布局管理:Qt Designer 提供了强大的布局管理工具,帮助开发者设计响应式和灵活的 GUI。可以使用网格布局、垂直或水平布局等,确保应用程序在不同大小和分辨率的屏幕上都能正确显示。
  • 预览功能:可以在 Qt Designer 中直接预览设计的界面,查看它在运行时的外观和行为。这有助于快速迭代和改进设计。
  • 集成开发环境支持:PySide6 和 Qt Designer 可以与主流的 Python IDE(如 PyCharm)和其他开发工具集成,提供更流畅的开发体验。
  • UI 文件和代码转换:Qt Designer 使用 .ui 文件格式保存界面设计。PySide6 提供了工具(如 uic),可以将这些 .ui 文件转换为 Python 代码,这样开发者就可以在 Python 应用程序中直接使用它们。
  • 跨平台:由于 Qt 和 PySide6 的跨平台性,使用 Qt Designer 设计的界面可以在 Windows、macOS 和 Linux 上无缝运行,无需修改代码

PySide6 Designer功能介绍

  • 工具箱(Widget Box):工具箱包含了所有可用的标准 GUI 控件,如按钮(Buttons)、标签(Labels)、输入框(Line Edits)等。开发者可以从工具箱中拖动所需的控件到窗口设计器中。
  • 窗口设计器(Form Designer):这是主工作区域,开发者在这里布局和设计应用程序的界面。你可以在这里放置、移动和调整控件的大小。
  • 属性编辑器(Property Editor):属性编辑器允许开发者查看和编辑选中控件的属性,如大小、颜色、字体等。这些属性的修改会即时反映在窗口设计器中。
  • 对象浏览器(Object Inspector):对象浏览器显示当前窗口中所有控件的层次结构。它允许开发者选择、查看和编辑控件的属性,并管理控件之间的父子关系。
  • 信号/槽编辑器(Signal/Slot Editor):Qt 的信号和槽机制是其事件处理系统的核心。信号/槽编辑器允许开发者图形化地连接控件的信号和槽(即事件和处理函数),实现控件之间的交互。
  • 动作编辑器(Action Editor):动作编辑器用于创建和管理窗口或应用程序级别的动作。这些动作可以被分配给菜单项、工具栏按钮或其他触发器。
  • 7. 资源浏览器(Resource Browser):资源浏览器允许开发者管理和使用项目的资源,如图像、图标和其他文件。这些资源可以被直接引用和使用在界面设计中。
  • 预览功能:PySide6 Designer 提供了预览功能,允许开发者在不运行实际 Python 代码的情况下,查看设计的界面在不同操作系统和风格下的外观。
  • 集成代码编辑器:虽然 PySide6 Designer 主要关注于界面设计,但它也提供了基本的代码编辑功能,允许开发者查看和编辑生成的 UI 文件的 XML 源码

UI文件转成python

窗体设计完成后,文件格式为.ui文件,需要将这种文件转成.py文件才能运行,如图:

运行转换

可以在菜单栏选择窗体->View Python Code,那么当前的设计的.ui文件被打开成.python文件,如图:

  • 拷贝或者保存python文件

运行打开的文件可以直接拷贝文件内容或者点击保存按钮保存到python项目目录

解决转化报错问题

正常情况,运行会报如下错误:

D:\py_project\pyside6demo\env\Lib\site-packages\PySide6\bin\uic:进程启动失败:系统找不到指定文件。

原因是在安装pyside6的时候,D:\py_project\pyside6demo\env\Lib\site-packages\PySide6目录下面不会生成bin目录,找不到uic执行文件。

解决办法是:

  • 在env\Lib\site-packages\PySide6目录下新建bin目录
  • 将env\Lib\site-packages\PySide6下面的uic.exe拷贝到bin目录

效果图如下:

重新执行上面的View Python Code即可。

相关推荐

selenium(WEB自动化工具)

定义解释Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7,8,9,10,11),MozillaF...

开发利器丨如何使用ELK设计微服务中的日志收集方案?

【摘要】微服务各个组件的相关实践会涉及到工具,本文将会介绍微服务日常开发的一些利器,这些工具帮助我们构建更加健壮的微服务系统,并帮助排查解决微服务系统中的问题与性能瓶颈等。我们将重点介绍微服务架构中...

高并发系统设计:应对每秒数万QPS的架构策略

当面试官问及"如何应对每秒几万QPS(QueriesPerSecond)"时,大概率是想知道你对高并发系统设计的理解有多少。本文将深入探讨从基础设施到应用层面的解决方案。01、理解...

2025 年每个 JavaScript 开发者都应该了解的功能

大家好,很高兴又见面了,我是"高级前端进阶",由我带着大家一起关注前端前沿、深入前端底层技术,大家一起进步,也欢迎大家关注、点赞、收藏、转发。1.Iteratorhelpers开发者...

JavaScript Array 对象

Array对象Array对象用于在变量中存储多个值:varcars=["Saab","Volvo","BMW"];第一个数组元素的索引值为0,第二个索引值为1,以此类推。更多有...

Gemini 2.5编程全球霸榜,谷歌重回AI王座,神秘模型曝光,奥特曼迎战

刚刚,Gemini2.5Pro编程登顶,6美元性价比碾压Claude3.7Sonnet。不仅如此,谷歌还暗藏着更强的编程模型Dragontail,这次是要彻底翻盘了。谷歌,彻底打了一场漂亮的翻...

动力节点最新JavaScript教程(高级篇),深入学习JavaScript

JavaScript是一种运行在浏览器中的解释型编程语言,它的解释器被称为JavaScript引擎,是浏览器的一部分,JavaScript广泛用于浏览器客户端编程,通常JavaScript脚本是通过嵌...

一文看懂Kiro,其 Spec工作流秒杀Cursor,可移植至Claude Code

当Cursor的“即兴编程”开始拖累项目质量,AWS新晋IDEKiro以Spec工作流打出“先规范后编码”的系统工程思维:需求-设计-任务三件套一次生成,文档与代码同步落地,复杂项目不...

「晚安·好梦」努力只能及格,拼命才能优秀

欢迎光临,浏览之前点击上面的音乐放松一下心情吧!喜欢的话给小编一个关注呀!Effortscanonlypass,anddesperatelycanbeexcellent.努力只能及格...

JavaScript 中 some 与 every 方法的区别是什么?

大家好,很高兴又见面了,我是姜茶的编程笔记,我们一起学习前端相关领域技术,共同进步,也欢迎大家关注、点赞、收藏、转发,您的支持是我不断创作的动力在JavaScript中,Array.protot...

10个高效的Python爬虫框架,你用过几个?

小型爬虫需求,requests库+bs4库就能解决;大型爬虫数据,尤其涉及异步抓取、内容管理及后续扩展等功能时,就需要用到爬虫框架了。下面介绍了10个爬虫框架,大家可以学习使用!1.Scrapysc...

12个高效的Python爬虫框架,你用过几个?

实现爬虫技术的编程环境有很多种,Java、Python、C++等都可以用来爬虫。但很多人选择Python来写爬虫,为什么呢?因为Python确实很适合做爬虫,丰富的第三方库十分强大,简单几行代码便可实...

pip3 install pyspider报错问题解决

运行如下命令报错:>>>pip3installpyspider观察上面的报错问题,需要安装pycurl。是到这个网址:http://www.lfd.uci.edu/~gohlke...

PySpider框架的使用

PysiderPysider是一个国人用Python编写的、带有强大的WebUI的网络爬虫系统,它支持多种数据库、任务监控、项目管理、结果查看、URL去重等强大的功能。安装pip3inst...

「机器学习」神经网络的激活函数、并通过python实现激活函数

神经网络的激活函数、并通过python实现whatis激活函数感知机的网络结构如下:左图中,偏置b没有被画出来,如果要表示出b,可以像右图那样做。用数学式来表示感知机:上面这个数学式子可以被改写:...