- 首页 >
- 问答 >
-
编程语言 >
- Ubuntu Python如何进行图形界面编程
Ubuntu Python如何进行图形界面编程
小樊
32
2025-11-26 20:10:31
Ubuntu 下 Python 图形界面编程指南
一 环境准备
- 更新软件源并安装基础工具:
- sudo apt update
- sudo apt install python3 python3-pip
- 可选:创建虚拟环境,隔离依赖
- sudo apt install python3-venv
- python3 -m venv venv
- source venv/bin/activate
- 检查 Tkinter 是否可用(Python 自带 GUI 库)
- python3 -m tkinter(弹出一个测试窗口表示可用)
二 常用库与安装
- Tkinter:Python 标准库,Ubuntu 多数已预装;如需安装:sudo apt-get install python3-tk
- PyQt5:功能强大,适合复杂桌面应用;安装:pip3 install pyqt5
- PyGObject(GTK):Linux 原生外观;安装:pip3 install PyGObject
- wxPython:跨平台原生控件;安装:pip3 install wxPython
- Kivy:支持多点触控与移动端;安装:pip3 install kivy
- customtkinter:现代化主题外观;安装:pip3 install customtkinter
- EasyGUI:快速弹窗式对话框;安装:pip3 install easygui
- Eel:用 HTML/CSS/JS 写界面,Python 做后端;安装:pip3 install eel
三 入门示例
- Tkinter 最小示例
- import tkinter as tk
root = tk.Tk()
root.title(“Hello Tkinter”)
tk.Label(root, text=“Hello, World!”).pack(pady=10)
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)最小示例
- import gi
gi.require_version(‘Gtk’, ‘3.0’)
from gi.repository import Gtk
win = Gtk.Window(title=“Hello PyGObject”)
btn = Gtk.Button(label=“点击我”)
btn.connect(“clicked”, lambda w: print(“按钮被点击”))
win.add(btn)
win.connect(“destroy”, Gtk.main_quit)
win.show_all()
Gtk.main()
- wxPython 最小示例
- import wx
app = wx.App(False)
frame = wx.Frame(None, wx.ID_ANY, “Hello wxPython”)
frame.Show(True)
app.MainLoop()
- Kivy 最小示例
- from kivy.app import App
from kivy.uix.button import Button
class MyApp(App):
def build(self):
return Button(text=‘Hello, Kivy!’)
MyApp().run()
四 如何选择
- 追求上手速度与内置可用:优先用 Tkinter(系统自带、轻量、教学和小工具友好)
- 需要复杂界面、丰富控件与商业级能力:选择 PyQt5(控件多、生态成熟)
- 希望 Linux 原生外观与 GNOME 生态一致:选择 PyGObject(GTK)
- 偏好本地外观且跨平台:选择 wxPython
- 需要触控/移动端或跨平台到 Android/iOS:选择 Kivy
- 想用 Web 技术写界面:选择 Eel
- 快速做弹窗脚本工具:选择 EasyGUI
- 想要现代化主题风格:选择 customtkinter
五 打包与分发
- 桌面应用打包常用 PyInstaller:pip3 install pyinstaller
- 打包命令示例:pyinstaller --onefile your_app.py
- 建议在虚拟环境中打包,避免把系统依赖一并打进去
- 若使用 Qt(PyQt5),可额外安装 pyqt5-tools 辅助资源与翻译处理