Python 3 GUI的详细指南

532 阅读5分钟

Python 3 GUI 介绍

Python 3 GUI 包括 Tkinter,一个 Tcl/Tk widget set 面向对象的接口。这可以说是最直接的设置和使用,因为它包含在大多数Python二进制发行中。Tcl/Tk 是跨平台的,可以在 macOS、Windows 和 UNIX 上运行。根据我们想使用的平台,有各种不同的选择。对于创建图形用户界面,Python提供了各种可能性(GUI)。

什么是Python 3 GUI?

  • TkInter,传统上与python一起打包,使用Tk来实现平台特有的各种替代方案,有时被称为本地技术。
  • 许多额外的跨平台技术是由Python绑定维护的,包括GTK、Qt、Tk和wxWidgets。Tkinter是唯一包含在python标准库中的GUI框架。与其他框架相比,Tkinter很轻,很容易使用。

Python 3 GUI编程

  • Tkinter具有几个优点:首先,代码是跨平台的,所以它可以在Windows、Mac OS X和Linux上运行。其次,基于Tkinter的应用程序似乎属于它们所运行的平台,因为它们使用操作系统元素产生视觉元素。
  • 这使得它成为创建GUI的应用程序的一个有吸引力的选择,特别是对于那些不需要当前光泽的项目,主要目标是构建一些可以快速跨平台工作的东西。
  • Tkinter是一个Python GUI工具箱,它既是开源的,也是广泛使用的。由于它的简单性和它有一个长期而活跃的社区,TKinter非常受欢迎。大多数Python二进制发行版也包含它。对于Macintosh、Windows和Linux,TKinter的功能是完全的。
  • 因为TKinter通常用于小规模的GUI项目,所以它是一个优秀的工具包,可以从它开始。
  • Python GUI库Tkinter是工业标准。当Python和Tkinter一起使用时,创建图形用户界面就变得轻而易举。
  • Tk GUI 工具包是通过Tkinter,一个复杂的面向对象的界面来访问的。
  1. Tkinter使制作图形用户界面变得简单
  2. 必须导入Tkinter
  3. 制作GUI程序的主窗口
  4. 在GUI程序中,添加一个或多个上图所示的小部件
  • 带有Tkinter的Python使设计图形用户界面变得简单。此外,Tkinter 给予 Tk GUI 工具包一个丰富的面向对象的界面。
  • 用 Tkinter 创建一个 GUI 应用程序很简单。然而,Tkinter是一个需要被导入的模块。
  • 下面是python 3 GUI编程的例子,如下所示:

代码

import tkinter
top = tkinter.Tk ()
top.mainloop ()

输出

Python 3 GUI Programming

  • GUI工具箱运行一个事件循环,这是一个在表面下运行的无限循环。事件循环等待事件的发生,然后再按照开发者的意图对其采取行动。因此,当应用程序没有捕捉到一个事件时,就好像这个事件根本没有发生一样。
  • 应用程序被聚焦,或者当用户用鼠标按下一个按钮或其他小部件时,事件就会发生。

Python 3 GUI的特点

  • 我们的软件给人的初步印象是它的用户界面。我们将需要各种图形元素,包括按钮、工具提示等等--我们的用户需要参与我们的应用程序所赋予的功能的一切。
  • 开发者的生活因开发框架而变得简单。它们有助于创建特定类型的应用程序或使用特定的编程语言。例如,python使得为我们的程序创建一个用户界面比从头开始写要容易得多。
  • 在GUI背景下,应用程序的骨架是没有事件处理程序的用户界面。原型设计可以用这些来完成。在我们在后端逻辑上花费大量精力之前,我们先开发GUI,并把它交给我们的利益相关者来批准。
  • Python GUI项目,通常被称为PyGUI框架,是一个基本的API,允许开发者利用本地元素为Python应用程序设计用户界面,因为它是一个轻量级的API,需要在应用程序和目标平台之间大大减少代码。

Python 3 GUI部件

下面是Python 3 GUI的小工具,如下:

1.Tkinter

下面是Python 3 GUI部件的示例代码,如下:

代码

from tkinter import *
py_tk = tkinter.py_tk ()
top.mainloop ()

输出

Python 3 GUI Tkinter

对于Macintosh、Windows和Linux,TKinter的功能是完全的。此外,由于TKinter通常用于小规模的GUI项目,它是一个很好的工具包,可以从它开始使用。

2.PyQT

  • PyQt工具包是一个QT框架包装器。PyQt是QT框架的一个流行的跨平台Python连接器,它使用C++来实现QT库。
  • PyQT可以用来创建大规模的GUI应用程序,因为开发GUI不需要时间。
  • 窗口可以使用QT设计器轻松地设计和转换。之后,通过将UI代码转换为.PY代码,可以将逻辑绑定到每个小部件。
  • 下面是PyQT的例子,如下所示。

代码

import sys
from PyQT.QtCore import Qt
if __name__ == "__main__":
py_app = app (sys.argv)
label = QLabel ("Hello World")
py.show ()
sys.exit (apy_app.exec_())

输出

Python 3 GUI PyQt

3.PySide

  • PySide是Qt GUI工具包的一个Python绑定,它是跨平台的。在更新了它的类似条款以包括LGPL作为替代许可之后,它将PySide作为LGPL许可发布。
  • 下面是PySide的一个简单例子,如下所示。

代码

import sys
from PySide6.QtCore import Qt
if __name__ == "__main__":
py_app = app (sys.argv)
label = QLabel("Hello World")
py.show ()
sys.exit(apy_app.exec_())

输出

PySide Ouput

4.PyGTK

  • PyGTK是一个在LGPL下许可的自由和开源的应用程序。PyGTK是一个可以在任何平台上使用的widget工具包。PyGTK是GNOME的官方工具箱。PyGTK被用来在Linux平台上创建许多GUI。
  • 下面的例子显示PyGTK如下。

代码

import gi
from gi.repository import Gtk
window = Gtk.Window (py="Hello World")
window.show ()
window.connect ("destroy", Gtk.main_quit)
Gtk.main ()

输出

PyGTK Ouput

结论

Tkinter是Python的GUI框架,尽管它不是没有诋毁者。基于Tkinter的GUI被批评为看起来很老。如果我们想要一个光鲜亮丽的现代界面,Tkinter可能不是我们所要寻找的。Tkinter是TCL/TK语言的一个图形界面封装器。