入门路线与准备
三个最快可运行的示例
Tkinter 最小示例(内置,零依赖)
import tkinter as tk
root = tk.Tk()
root.title("Hello Tkinter")
label = tk.Label(root, text="Hello, Tkinter!")
label.pack(pady=20)
root.mainloop()
PyQt5 最小示例(功能强、生态完善)
import sys
from PyQt5.QtWidgets import QApplication, QLabel
app = QApplication(sys.argv)
label = QLabel("Hello, PyQt5!")
label.show()
sys.exit(app.exec_())
PyGObject(GTK,Linux 原生外观)
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
win = Gtk.Window(title="Hello PyGObject")
button = Gtk.Button(label="点击我")
button.connect("clicked", lambda w: print("按钮被点击了!"))
win.add(button)
win.connect("destroy", Gtk.main_quit)
win.show_all()
Gtk.main()
如何选择库
| 库 | 适用场景 | 学习难度 | 主要优点 | 备注 |
|---|---|---|---|---|
| Tkinter | 入门、小型工具 | 低 | 内置、跨平台、文档多 | Ubuntu 常见自带 |
| PyQt5 | 复杂桌面应用 | 中-高 | 组件丰富、工具链完善 | 商业项目注意许可证 |
| wxPython | 追求原生外观 | 中 | 本地化外观、跨平台 | 桌面应用常用 |
| Kivy | 触控/移动与跨平台 | 中 | 多点触控、移动友好 | 适合移动与多媒体 |
| PyGObject(GTK) | Linux 原生体验 | 中 | 与 GNOME 生态一致 | 适合 Linux 桌面 |
| customtkinter | 现代化主题外观 | 低-中 | 主题切换、现代化控件 | 基于 Tkinter 之上 |
| EasyGUI | 超快速弹窗脚本 | 低 | 几行代码出界面 | 不适合复杂布局 |
| Eel | 前端技术栈(HTML/CSS/JS) | 中 | 开发效率高、界面美观 | 需同时会 Web 技术 |
从零到发布的五步练习