
Python 提供了多种实现图形用户界面 (GUI) 编程的技术,以下介绍几种主流方案及其对比。
1. Tkinter

简介
Tkinter 是 Python 的标准 GUI 库,基于 Tk 工具包,是 Python 自带的库,无需额外安装。
示例代码
import tkinter as tk
from tkinter import messagebox
def on_click():
messagebox.showinfo("提示", f"你好,{entry.get()}!")
root = tk.Tk()
root.title("Tkinter 示例")
label = tk.Label(root, text="请输入你的名字:")
label.pack()
entry = tk.Entry(root)
entry.pack()
button = tk.Button(root, text="点击", command=on_click)
button.pack()
root.mainloop()
优势
- Python 标准库,无需额外安装
- 跨平台支持 (Windows, Linux, Mac)
- 简单易学,适合初学者
- 轻量级,启动快速
劣势
- 界面外观较老旧,现代化程度低
- 功能相对较少
- 自定义样式较复杂
- 性能在处理复杂界面时可能不足
2. PyQt/PySide
简介
PyQt 和 PySide 都是 Qt 框架的 Python 绑定,功能强大,适合开发专业级应用程序。
示例代码 (PyQt5)
from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel, QLineEdit, QPushButton, QVBoxLayout, QWidget
from PyQt5.QtCore import Qt
import sys
class ():
():
().__init__()
.setWindowTitle()
layout = QVBoxLayout()
.label = QLabel()
layout.addWidget(.label)
.entry = QLineEdit()
layout.addWidget(.entry)
.button = QPushButton()
.button.clicked.connect(.on_click)
layout.addWidget(.button)
container = QWidget()
container.setLayout(layout)
.setCentralWidget(container)
():
PyQt5.QtWidgets QMessageBox
QMessageBox.information(, , )
app = QApplication(sys.argv)
window = MainWindow()
window.show()
app.exec_()


