Python基础教程(七十七)图形界面:Python GUI江湖论剑,四大门派实战指南

一、GUI 四大门派核心特性

框架

江湖地位

入门难度

开发效率

颜值潜力

杀招

Tkinter

标准库,兼容性强

★☆☆☆☆

★★★★☆

★★☆☆☆

零依赖,快速原型

PyQt

功能霸主,文档全

★★★☆☆

★★★★☆

★★★★★

Qt Designer可视化

PySide

Qt官方亲儿子

★★★☆☆

★★★★☆

★★★★★

LGPL开源更自由

Kivy

移动端跨界高手

★★★★☆

★★★☆☆

★★★★☆

多点触控与跨平台


二、门派招式实录(附代码)

1. Tkinter - 基础窗口与交互
import tkinter as tk
from tkinter import messagebox

def on_click():
    messagebox.showinfo("武林密令", f"{entry.get()}大侠,点击成功!")

root = tk.Tk()
entry = tk.Entry(root, width=20)
entry.pack(pady=10)
tk.Button(root, text="出招", command=on_click).pack()
root.mainloop()
2. PyQt - 现代化窗口实战
from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton

class MainWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("Qt剑宗")
        btn = QPushButton("释放内力", self)
        btn.clicked.connect(lambda: print("真气已运行周天!"))
        self.setCentralWidget(btn)

app = QApplication([])
window = MainWindow()
window.show()
app.exec_()
3. PySide - 信号槽深度应用
from PySide6.QtWidgets import QApplication, QSlider, QLabel
from PySide6.QtCore import Qt

app = QApplication([])
slider = QSlider(Qt.Horizontal)
label = QLabel("功力值:0")

slider.valueChanged.connect(lambda v: label.setText(f"功力值:{v}"))

slider.show()
label.show()
app.exec()
4. Kivy - 跨平台触控界面
from kivy.app import App
from kivy.uix.button import Button

class MyApp(App):
    def build(self):
        return Button(text='触摸发功', 
                     on_press=lambda x: print("经脉已打通!"),
                     size_hint=(0.5, 0.2))

MyApp().run()

三、选型决策树

graph TD
    A[需求类型?] --> B{轻量级小工具}
    A --> C{专业桌面应用}
    A --> D{移动/触控应用}
    B --> E[首选Tkinter]
    C --> F[PyQt/PySide]
    D --> G[Kivy]
    F --> H{需要商业授权?}
    H --> I[是 --> 选PyQt]
    H --> J[否 --> 选PySide]

避坑指南

  • Tkinter升级颜值需用ttk主题引擎
  • PyQt商用需购买授权,PySide6可免费用
  • Kivy安卓打包用Buildozer,iOS用KivyMD
  • 复杂界面推荐Qt Designer + PyUIC转代码

掌握各派核心招式,方能GUI江湖自在遨游。根据应用场景选型,小工具用Tkinter闪电开发,商业级桌面程序靠PyQt/PySide坐镇,跨平台触控则让Kivy大显身手——武林之巅,待君登临!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

值引力

持续创作,多谢支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值