Python-GUI-概览

1 需求


2 接口


3 示例

Tkinter

  • 介绍:Tkinter 是 Python 的标准 GUI(Graphical User Interface)库,它提供了基本的组件来构建简单的图形用户界面。由于它是标准库,所以无需额外安装,使用起来很方便。

  • 组件和功能:它包含了各种常用的 UI 组件,如按钮(Button)、标签(Label)、文本框(Entry)、列表框(Listbox)等。可以通过这些组件构建窗口、对话框等界面元素。例如,创建一个简单的窗口并添加一个按钮的代码如下:

       import tkinter as tk
       root = tk.Tk()
       button = tk.Button(root, text="点击我")
       button.pack()
       root.mainloop()
    
  • 适用场景:适合快速构建简单的图形界面,如小型工具、脚本的可视化界面等。


PyQt

  • 介绍:PyQt 是一套 Python 绑定的 Qt 库,Qt 是一个功能强大的跨平台 C++ 库,用于开发图形用户界面和应用程序。PyQt 提供了丰富的功能和漂亮的界面效果。

  • 组件和功能:它有大量的 UI 组件,包括按钮、菜单、工具栏、表格(QTableWidget)、树形视图(QTreeView)等。并且支持高级的功能,如信号与槽机制(用于事件处理)、布局管理(可以灵活地排列组件)。例如,使用 PyQt 创建一个带有按钮的窗口并处理按钮点击事件的代码如下:

       from PyQt5.QtWidgets import QApplication, QWidget, QPushButton
       import sys
       def on_button_clicked():
           print("按钮被点击了")
       app = QApplication(sys.argv)
       window = QWidget()
       button = QPushButton("点击我", window)
       button.clicked.connect(on_button_clicked)
       window.show()
       sys.exit(app.exec_())
    
  • 适用场景:适用于开发复杂的、对界面美观和功能要求较高的桌面应用程序,如大型软件工具、多媒体应用等。


wxPython

  • 介绍:wxPython 是 Python 对 wxWidgets 库的绑定,wxWidgets 是一个跨平台的 C++ 库,用于创建图形用户界面。wxPython 具有良好的跨平台性和丰富的功能。

  • 组件和功能:它提供了各种各样的 UI 组件,如文本框、按钮、滑块(Slider)、复选框(CheckBox)等。并且有自己的布局管理器,可以方便地对界面进行布局。例如,使用 wxPython 创建一个简单的窗口并添加一个文本框的代码如下:

       import wx
       app = wx.App()
       frame = wx.Frame(None, title="我的窗口")
       panel = wx.Panel(frame)
       text_ctrl = wx.TextCtrl(panel)
       frame.Show()
       app.MainLoop()
    
  • 适用场景:适合开发跨平台的、功能丰富的桌面应用程序,尤其是在需要与操作系统本地外观和感觉相匹配的情况下。


Kivy

  • 介绍:Kivy 是一个用于开发跨平台移动应用和多点触控应用的 Python 库。它采用了一种新颖的设计理念,基于自然用户界面(NUI)原则。

  • 组件和功能:它有自己的一套 UI 组件,如按钮(Button)、标签(Label)、布局(如 BoxLayout、GridLayout)等。支持触摸事件处理,并且可以方便地实现动画效果。例如,使用 Kivy 创建一个简单的移动应用界面(包含一个按钮)的代码如下:

       from kivy.app import App
       from kivy.uix.button import Button
       class MyApp(App):
           def build(self):
               return Button(text="点击我")
       if __name__ == '__main__':
           MyApp().run()
    
  • 适用场景:主要用于开发移动应用和具有触摸交互功能的应用程序,如手机游戏、移动工具软件等。


PySimpleGUI

  • 介绍:PySimpleGUI 是一个相对简单、易于使用的 GUI 库,它的设计目的是让开发者能够快速地创建出可用的图形界面。

  • 组件和功能:它提供了常用的 UI 组件,并且将复杂的 GUI 操作简化。例如,创建一个包含输入框和按钮的窗口的代码如下:

       import PySimpleGUI as sg
       layout = [
           [sg.Text("请输入内容")],
           [sg.Input()],
           [sg.Button("确定")]
       ]
       window = sg.Window("我的窗口", layout)
       event, values = window.read()
       window.close()
    
  • 适用场景:适合初学者快速上手构建简单的图形界面,或者用于快速开发小型的工具软件的界面。


4 参考资料

相关推荐
黄公子学安全23 分钟前
Java的基础概念(一)
java·开发语言·python
程序员一诺1 小时前
【Python使用】嘿马python高级进阶全体系教程第10篇:静态Web服务器-返回固定页面数据,1. 开发自己的静态Web服务器【附代码文档】
后端·python
小木_.1 小时前
【Python 图片下载器】一款专门为爬虫制作的图片下载器,多线程下载,速度快,支持续传/图片缩放/图片压缩/图片转换
爬虫·python·学习·分享·批量下载·图片下载器
Jiude2 小时前
算法题题解记录——双变量问题的 “枚举右,维护左”
python·算法·面试
唐小旭2 小时前
python3.6搭建pytorch环境
人工智能·pytorch·python
是十一月末2 小时前
Opencv之对图片的处理和运算
人工智能·python·opencv·计算机视觉
爱学测试的李木子3 小时前
Python自动化测试的2种思路
开发语言·软件测试·python
kitsch0x973 小时前
工具学习_Conan 安装第三方库
开发语言·python·学习
梦幻精灵_cq3 小时前
《点点之歌》“意外”诞生记
python
张狂年少4 小时前
电力通信规约-104实战
java·开发语言·python