使用Python和Qt6(PySide6)创建GUI应用1简介

这篇具有很好参考价值的文章主要介绍了使用Python和Qt6(PySide6)创建GUI应用1简介。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1 简介

在本书从GUI开发的基本原理逐步过渡到使用PySide6创建您自己的、功能齐全的桌面应用程序。

1.1 GUI简史

图形用户界面(GUI Graphical User Interface) 历史悠久,可追溯到20世纪60年代。斯坦福大学的NLS(ON-Line 系统引入了鼠标和窗口概念,并于1968年首次公开展示。随后,施乐公司于1973年推出了Smalltalk系统图形用户界面,它是大多数现代通用图形用户界面的基础。

这些早期系统已经具备了我们在现代桌面图形用户界面中视为理所当然的许多功能,包括窗口、菜单、单选按钮、复选框和后来的图标。这些功能的组合为我们提供了这类界面的早期缩写: WIMP(窗口、图标、菜单、指向设备--鼠标 windows, icons, menus, pointing device — a mouse)。

1979年,第一款采用图形用户界面的商用系统PERQ工作站问世。这刺激了其他一些图形用户界面的发展,其中最著名的是苹果公司的Lisa(1983年),它增加了菜单栏和窗口控制的概念。还有许多其他系统,如 Atari ST (GEM)、Amiga。在 UNIX(以及后来的 Linux)上,1984 年出现了 X 窗口系统。第一版 Windows PC 于 1985 年发布。

使用Python和Qt6(PySide6)创建GUI应用1简介

早期的图形用户界面并不像我们想象的那样一经推出就大受欢迎,原因是当时缺乏兼容的软件,而且硬件要求昂贵,尤其是对家庭用户而言。随着时间的推移,图形用户界面逐渐成为人们与电脑交互的首选方式,WIMP隐喻也被牢固地确立为标准。这并不是说没有人试图在桌面上取代WIMP。例如,微软公司在 1995年推出的 Microsoft Bob(微软鲍勃),就是微软公司试图用房子来取代桌面的尝试。

使用Python和Qt6(PySide6)创建GUI应用1简介

从推出Windows 95(1995 年)到Mac OS X(2001 年)、GNOME Shell(2011 年)和 Windows 10(2015 年),不乏其他被誉为革命性的图形用户界面。这些系统都对各自桌面系统的用户界面进行了大刀阔斧的改革,而且往往大张旗鼓。但从根本上说,并没有什么真正的改变。这些新的用户界面在很大程度上仍然是WIMP系统,其功能与20世纪80年代以来的图形用户界面完全相同。

革命自触摸,窗口被全屏应用程序取代。但大量的日常工作仍然是在台式电脑上完成的。WIMP经历了40年的创新,并有望继续走下去。

1.2 QT简介

Qt是一个免费的开源widget工具包,用于创建跨平台图形用户界面应用程序,允许应用程序使用单一代码库针对Windows、macOS、Linux和Android等多个平台。但Qt远不止是widget工具包,它还内置了对多媒体、数据库、矢量图形和MVC界面的支持,将其视为应用程序开发框架更为准确。

Qt由Eirik Chambe-Eng 和 Haavard Nord于1991 年创立,并于1994年成立了第一家Qt公司Trolltech。Qt目前由The Qt Company开发,并继续定期更新,增加功能,扩展移动和跨平台支持。

1.2.1 Qt和PySide6

PySide6也称为Qt for Python,是Qt工具包的Python绑定,目前由Qt公司开发。当您使用PySide6编写应用程序时,您实际上是在用Qt编写应用程序。PySide6库只是C++ Qt 库的一个封装,可在Python中使用它。

PySide6中使用的命名约定并不符合PEP8标准。最值得注意的是,函数和变量使用mixedCase而不是 snake_case来命名。你是否在自己的应用程序中遵循这一标准完全取决于你自己,但我发现遵循Python标准很有帮助,有助于明确PySide6代码的终点和你自己代码的起点。

最后,虽然有PySide6的特定文档,但你经常会发现自己在阅读Qt文档,因为它更完整。

1.2.2 Pythonic PySide6

在Python中,特性导入用于控制代码的全局行为。在Qt 5.15中引入了一项功能,使Qt对象可以使用蛇形变量名和方法名。在Qt6中,这一功能被扩展为支持从Python代码直接访问Qt属性,而不是使用 getter/setter 函数。下面的示例代码显示了这些变化对代码的影响 - 清单 1.

  • 标准 PySide6 代码。
table = QTableWidget()
table.setColumnCount(2)

button = QPushButton("Add")
button.setEnabled(False)

layout = QVBoxLayout()
layout.addWidget(table)
layout.addWidget(button)

同样的代码,但启用了snake_case和true_property。

from __feature__ import snake_case, true_property

table = QTableWidget()
table.column_count = 2

button = QPushButton("Add")
button.enabled = False

layout = QVBoxLayout()
layout.add_widget(table)
layout.add_widget(button)

这些功能有助于Qt代码更加Pythonic,通过遵循Python代码风格标准来提高代码的可读性。

参考资料

  • 软件测试精品书籍文档下载持续更新 https://github.com/china-testing/python-testing-examples 请点赞,谢谢!
  • 本文涉及的python测试开发库 谢谢点赞! https://github.com/china-testing/python_cn_resouce
  • python精品书籍下载 https://github.com/china-testing/python_cn_resouce/blob/main/python_good_books.md
  • Linux精品书籍下载 https://www.cnblogs.com/testing-/p/17438558.html

1.3 补充知识:Widget

在计算机科学和软件开发领域,Widget(小部件)是指用户界面中的一个可视化组件或控件,用于显示信息、接收用户输入或执行特定的功能。Widget通常是图形用户界面(GUI)中的一个可交互的元素,可以是按钮、文本框、下拉菜单、滑块等。

Widget的主要目的是提供用户与应用程序或系统之间的交互方式,使用户能够与应用程序进行操作、输入数据或获取信息。通过使用不同类型的Widget,开发人员可以构建丰富多样的用户界面,以满足不同的需求和提供良好的用户体验。

Widget通常具有以下特点:

  • 可视化:Widget以图形的形式在用户界面中显示,并提供了一个可视化的方式来呈现信息或控制功能。
  • 交互性:Widget允许用户与其进行交互,例如点击按钮、拖动滑块、选择下拉菜单等,从而触发特定的操作或更改应用程序的状态。
  • 可配置性:Widget通常具有一些可配置的属性,如大小、颜色、字体等,使开发人员能够根据需求自定义其外观和行为。
  • 可重用性:Widget可以在不同的应用程序或不同的部分中重复使用,以提高代码的复用性和可维护性。

常见的Widget库和框架如HTML/CSS中的Web Widget,Android中的Android Widget,以及各种GUI工具包(如Qt、GTK、WPF等)中提供的各种控件都是用于构建和管理Widget的工具。文章来源地址https://www.toymoban.com/news/detail-758477.html

到了这里,关于使用Python和Qt6(PySide6)创建GUI应用1简介的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python开发GUI常用库PyQt6和PySide6介绍之三:交互和通信方式讲解

    在PyQt6和PySide6中,事件(Event)和信号(Signal)是两个不同的概念,它们都是Qt框架中用于处理不同类型的应用程序响应机制。简言之,事件是对用户交互或系统状态变化的直接响应,而信号和槽是一种允许对象间通信的机制。在PyQt6和PySide6的应用程序中,合理地使用事件和信

    2024年02月04日
    浏览(41)
  • PySide6:Qt Designer UI文件的两种使用方式

    通过Qt Designer(PyQt6与PySide6对应的Designer设计的界面生成的UI文件有区别)设计的界面会生成对应的UI文件,一般会使用PyUIC工具将UI文件转换为对应的Py文件来使用,后面每次界面发生更新时都要重新转换一次,比较麻烦;另外,如果直接在UI文件中添加自己的代码,如信号与槽

    2024年02月11日
    浏览(49)
  • Pyside6/PyQT 项目实战,从0开始写一个GUI可视化项目:总览

    最近使用 Pyside6 编写了几个 GUI 工具,发现效果出奇的好。遂产生了分享它的念头。 接下来如果不出意外,大概没有意外,我会开始写 这个专栏 ,介绍从零开始去编写一个实用的 GUI 工具。 这是 Pyside6 第一篇:《总览》 本文对Pyside6在开发使用中进行了知识点的提炼,所以后

    2023年04月22日
    浏览(66)
  • Pyside6(3): 自动生成UI的Qt参数输入对话框

    参数输入界面是桌面软件开发最繁琐的部分之一。特别是当系统中存在多种可编辑的数值模型时,由于各个模型的字段不同,每个字段的输入类型也不同,需要制作不同的UI,使用不同的UI控件,无疑会耗费大量时间,同时拓展性也非常差,因为每增加一个数值模型,都需要制

    2024年02月03日
    浏览(58)
  • PyCharm下安装配置PySide6开发环境(Qt Designer、PyUIC和PyRCC)

    本篇我们来介绍一下在PyCharm中如何安装和配置PySide6的开发运行环境。 开发PySide6项目,我们可以使用Qt Designer、PyUIC和PyRCC这些好用的外部工具。 Qt Designer是啥东西?简单的来说就是设计Qt界面的辅助开发工具,可以像开发VB那样通过拖拽的方式进行所见即所得的可视化开发G

    2023年04月08日
    浏览(42)
  • PyCharm下安装配置PySide6开发环境(Qt Designer(打开,编辑)、PyUIC和PyRCC)

    python安装路径  pycharm安装路径: python系统变量: pycharm环境变量:   注意:正常安装,并勾选ADD PATH一般会自动配好 用pycharm开发python项目时,使用虚拟环境的好处是: 可以为不同的项目创建不同的python环境,避免了依赖包和版本的冲突。 可以为同一个项目的不同环境(如

    2024年02月11日
    浏览(55)
  • Python项目——搞怪小程序(PySide6+Pyinstaller)

    1、介绍 使用python编写一个小程序,回答你是猪吗。 点击“是”提交,弹窗并退出。 点击“不是”提交,等待5秒,重新选择。 并且隐藏了关闭按钮。 2、实现 新建一个项目。 2.1、设计UI 使用Qt designer设计一个UI界面,保存ui文件,再转换为py文件并保存到项目目录中,供后续

    2024年01月22日
    浏览(46)
  • Python项目——久坐提醒定时器(PySide6)编写

    1、介绍 使用Python编写一个久坐提醒软件。 功能: 设置工作时间。 设置休息时间。 选择休息时是否播放音乐。 休息时,软件置顶,且不能关闭。 2、工具 语言:python3.11 UI设计工具:Qt designer 编译器:PyCharm 包:pygame、PySide6 3、代码 新建一个项目,准备好音乐。 使用Qt des

    2024年01月19日
    浏览(49)
  • Pyside6在Pycharm下安装和使用

    目录 一:安装 二:使用 一:安装 打开Pycharm编辑器,file-setting里Python解释器,点击小+号,添加模块,搜索Pyside6,安装 安装报错,可能是默认的库安装超时,用其他的源 pip install Pyside6 -i https://pypi.tuna.tsinghua.edu.cn/simple 安装成功 二:使用 建立一个窗口: import sys from PySide6.Q

    2024年01月23日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包