9个国外最佳免费编程学习一站式网站
http://www.360doc.com/content/22/1024/17/63953942_1053111478.shtml
QT文档
https://doc.qt.io/
QtDesigner pyqt6
https://blog.csdn.net/lyshark_lyshark/article/details/125847218
https://doc.qt.io/qtforpython-6/contents.html
Pycharm中配置PyQt/PySide开发工具Qt Designer、PyUIC、PyRcc(详细)并使用
https://blog.csdn.net/python_sy/article/details/127427968
PyQt窗口设计之Qt Designer
https://blog.csdn.net/Itsme_MrJJ/article/details/122668802
调用DtDesigner生成的py文件
https://realpython.com/qt-designer-python/
布局
https://blog.csdn.net/weixin_45651336/article/details/113487786
https://wenku.baidu.com/view/88e115d4fa0f76c66137ee06eff9aef8941e480a.html?wkts=1687915193078&bdQuery=%E5%BC%B9%E6%A1%86%E4%BA%8B%E4%BB%B6Qt_Designer
https://www.jb51.net/article/274569.htm
PyQt与PySide之间的不同,两者的不同主要是由于历史引起的,最初Qt的母公司是Nokia,后来riverbank computing公司开发了Python版本的Qt,这就是最初的PyQt了,但是PyQt有两种许可协议,一种是GPLv3许可协议,另一种是需要授权的商业许可协议,GPLv3许可协议是指,如果的你的程序引用了该协议的程序,则你的程序也必须开源,如果你想要商业闭源,则必须购买该公司的商业许可协议。后来Nokia公司希望PyQt的GPLv3协议修改改LGPLv3协议,可以吸引更多的商业用户,但是riverbank computing公司拒绝了,因此,Nokia公司单干,推出了PySide,这就是PySide的由来。PySide是LGPL协议,LGPL协议是一个商业友好的协议使用 LGPL 协议开发闭源程序,如果你使用动态链接的形式,那么,你可以以任何形式(商业的、非商业的、开源的、非开源的等等)发布你的应用程序,后来,Nokia将Qt和PySide卖给了Digia,在Digia大力支持了,PySide从PySide2到现在的PySide6,在资料和组件支持方面与PyQt基本没有太大的差别。总体来说,PySide6与PyQt6之间的最大的差别在于它们的许可协议上,而PySide6许可协议更友好,并且也是Qt官方公司主推的框架,相信后续会变得更好。
推荐10款Python图形界面(GUI)框架
Python就有大量用于开发GUI的框架,下面给大家介绍10个框架供你选择。
Dear PyGui
官网:
https://pypi.org/project/dearpygui/
Dear PyGui是一个简单易用、功能强大的Python GUI框架。
Dear PyGui使用了在电子游戏中很流行的即时模式范式。这基本上意味着动态GUI是逐帧独立绘制的,不需要持久化任何数据。
Dear PyGui提供了DearImGui的包装,它是一个用Dear ImGui构建的库,它模拟了传统的保留模式 GUI(与Dear ImGui的即时模式范例相反)。
PyQt6
官网:
https://pypi.org/project/PyQt6/
PyQt 包是围绕 Qt 框架 构建的,这是一个跨平台框架,用于为各种平台创建大量应用程序。PyQt6 包包含一组详细的 Python 绑定,基于 Qt 应用程序框架的最新版本 v6。
通过利用 PyQt6 的强大功能,开发人员可以为 Windows、Mac、Linux、iOS、Android 等平台构建应用程序。在创建 GUI 时,PyQt6 武器库提供了令人印象深刻的QtGui和QtDesigner 模块,它们提供了许多视觉元素,开发人员可以通过简单的拖放来实现。
当然,也可以选择通过代码创建这些元素,让你轻松创建小型和大型应用程序。Python 的模块化以扩展的形式渗透到 PyQt6,为你提供更多功能,而不仅仅是 GUI 构建。
PyGObject
官网:
http://pygobject.readthedocs.io/en/latest/getting_started.html
通过PyGObject,你可以为GNOME项目编写Python应用程序,你也可以使用GTK +编写Python应用程序。
Urwid
官网:Overview - Urwid 2.1.2
Urwid 包含了众多开发文本 UI 的特性,例如:
应用窗口自适应
文本自动对齐
轻松设置文本块
强大的选择框控件
可以和各种基于事件驱动的框架集成,比如和 Twisted[6], Glib[7], Tornado[8] 等等
提供诸如编辑框、按钮、多(单)选框 等多种预制控件
显示模式支持原生、Curses模式、LCD 显示屏 以及 网络显示器
支持 UTF-8 以及 CJK 字符集(可以显示中文)
支持多种颜色
看看效果:
消息框
多字体
色彩
Tkinter
官网:
https://docs.python.org/zh-cn/3/library/tkinter.html
Tkinter通常被大多数Python开发人员称为首选GUI工具包,创建Tkinter是为了给现代开发人员提供Tk GUI工具包的标准接口和它的Python绑定。在Tkinter的世界里,我们所熟悉的大多数可视化元素都被称为小部件,每个小部件都提供了不同级别的可定制性。
Tkinter被整合到当前所有主要操作系统的Python安装程序中,并提供了一系列我们确信你一定熟悉的常用元素。下面列出了一些视觉元素:
Frame:为你的应用程序提供一个结构
按钮:用于获取用户的输入
复选按钮:用于进行选择
标签:用于显示文本信息
文件对话框:用于在应用程序中上传或下载文件
画布:为绘制图形和情节提供空间
wxPython
官网:https://www.wxpython.org/
wxPython 是 Python 语言的一套优秀的 GUI 图形库,允许 Python 程序员很方便的创建完整的、功能键全的 GUI 用户界面。 wxPython 是作为优秀的跨平台 GUI 库 wxWidgets 的 Python 封装和 Python 模块的方式提供给用户的。
就如同Python和wxWidgets一样,wxPython也是一款开源软件,并且具有非常优秀的跨平台能力,能够运行在32位windows、绝大多数的Unix或类Unix系统、Macintosh OS X上。
Flexx
官网:
https://flexx.readthedocs.io/en/stable/
Flexx 是一个纯 Python 工具包,用来创建图形化界面应用程序。其使用 Web 技术进行界面的渲染。你可以用 Flexx 来创建桌面应用,同时也可以导出一个应用到独立的 HTML 文档。因为使用纯 Python 开发,所以 Flexx 是跨平台的。
Kivy
官网:Kivy: Cross-platform Python Framework for NUI
Kivy基于OpenGL ES 2,能够让使用相同源代码创建的程序能跨平台运行。这个框架是事件驱动的,基于主循环,非常适合开发游戏。
pyGtk
官网:
https://www.oschina.net/p/pygtk
PyGTK让你用Python轻松创建具有图形用户界面的程序.底层的GTK 提供了各式的可视元素和功能,如果需要,你能开发在GNOME桌面系统运行的功能完整的软件。
PyGTK真正具有跨平台性,它能不加修改地,稳定运行各种操作系统之上,如Linux,Windows,MacOS等.除了简单易用和快速的原型开发能力外,PyGTK还有一流的处理本地化语言的独特功能。
Pywin32
官网:
https://www.oschina.net/p/pywin32
Windows Pywin32允许你像VC一样的形式来使用PYTHON开发win32应用。代码风格可以类似win32 sdk,也可以类似MFC,由你选择。如果你仍不放弃vc一样的代码过程在python下,那么这就是一个不错的选择。