Ubuntu 上安装 Python GUI 库的常用方法
在 Ubuntu 上开发 Python 图形界面(GUI)应用时,可选择多种工具库,涵盖标准内置、第三方 pip 安装及系统包管理器等方式。以下是常见 GUI 库的安装步骤及注意事项:
Tkinter 是 Python 内置的轻量级 GUI 库,适合快速开发简单桌面应用(如工具窗口、配置面板)。多数 Ubuntu 发行版已预装,但可通过以下命令确认或安装:
# 检查 Tkinter 是否安装(若弹出测试窗口则表示已安装)
python3 -m tkinter
# 若未安装,通过 apt 安装
sudo apt update
sudo apt install python3-tk
示例代码(创建带标签和按钮的窗口):
import tkinter as tk
root = tk.Tk()
root.title("Tkinter 示例")
label = tk.Label(root, text="Hello, Tkinter!")
label.pack(pady=10)
button = tk.Button(root, text="点击我", command=lambda: label.config(text="按钮被点击了!"))
button.pack()
root.mainloop()
PyQt5 是 Riverbank Computing 开发的商业/开源库(PyQt6 为最新版),提供丰富的组件(如表格、树形视图)和 Qt Designer 可视化设计工具;PySide6 是 Qt 官方的开源替代,许可证更宽松(LGPL)。两者安装方式类似:
# 通过 pip 安装 PyQt5(推荐最新版)
pip3 install --upgrade pip
pip3 install PyQt5
# 或安装 PySide6(官方替代)
pip3 install PySide6
示例代码(PyQt5 创建主窗口):
from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel, QVBoxLayout, QWidget
import sys
app = QApplication(sys.argv)
window = QMainWindow()
window.setWindowTitle("PyQt5 示例")
central_widget = QWidget()
layout = QVBoxLayout()
label = QLabel("Hello, PyQt5!")
layout.addWidget(label)
central_widget.setLayout(layout)
window.setCentralWidget(central_widget)
window.show()
sys.exit(app.exec_())
Kivy 专注于移动端和多点触控应用(如手机游戏、平板工具),支持 Windows、macOS、Linux、Android、iOS 等平台。通过 pip 安装即可:
pip3 install kivy
示例代码(Kivy 创建带按钮的界面):
from kivy.app import App
from kivy.uix.button import Button
class MyApp(App):
def build(self):
return Button(text="Hello, Kivy!", size_hint=(0.5, 0.3), pos_hint={'center_x': 0.5, 'center_y': 0.5})
MyApp().run()
wxPython 基于 C++ 的 wxWidgets 框架,提供原生外观的控件(如 Windows 的原生按钮、macOS 的原生菜单),适合需要贴近系统风格的应用:
# 通过 pip 安装最新版
pip3 install wxPython
# 或通过 apt 安装(版本可能较旧)
sudo apt update
sudo apt install python3-wxgtk4.0
示例代码(wxPython 创建带文本框的窗口):
import wx
app = wx.App(False)
frame = wx.Frame(None, wx.ID_ANY, "wxPython 示例", size=(300, 200))
panel = wx.Panel(frame, wx.ID_ANY)
label = wx.StaticText(panel, wx.ID_ANY, "Hello, wxPython!", pos=(50, 50))
frame.Show(True)
app.MainLoop()
GTK+3 是 Ubuntu GNOME 桌面的默认 GUI 工具包,PyGObject 是其 Python 绑定,适合开发符合 GNOME 设计规范的本地应用:
sudo apt update
sudo apt install python3-gi python3-gi-cairo gir1.2-gtk-3.0
示例代码(GTK+3 创建带标签的窗口):
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
class MyWindow(Gtk.Window):
def __init__(self):
Gtk.Window.__init__(self, title="GTK+3 示例")
self.set_default_size(200, 100)
label = Gtk.Label(label="Hello, GTK+3!")
self.add(label)
win = MyWindow()
win.connect("destroy", Gtk.main_quit)
win.show_all()
Gtk.main()
apt)安装的库(如 python3-tk、python3-gi),稳定性更高且易于维护;venv 避免冲突);sudo apt install python3-kivy[base,media] 安装完整依赖;