温馨提示×

Ubuntu Python图形界面库怎么用

小樊
46
2025-11-22 21:33:39
栏目: 编程语言

Ubuntu 上使用 Python 图形界面库的快速指南

一 环境准备

  • 确认已安装 Python 3pip
    • 更新索引并安装:sudo apt update && sudo apt install python3 python3-pip
  • 建议使用的虚拟环境(避免污染系统包):
    • 创建:python3 -m venv venv
    • 激活:source venv/bin/activate
  • 图形环境建议:在本地桌面会话中运行(如 X11Wayland)。在 SSH 远程环境需开启 X11 转发 或使用 VNC 才能显示窗口。

二 常用库安装与最小示例

  • 下表汇总了 Ubuntu 上常用的 5 种 GUI 方案(安装命令与“Hello, World”示例)。
安装命令 最小示例 适用场景
Tkinter sudo apt install python3-tk python\nimport tkinter as tk\nroot = tk.Tk(); root.title("Hello")\nlabel = tk.Label(root, text="Hello, Tkinter!"); label.pack()\nroot.mainloop()\n 入门、内置、轻量工具
PyQt5 sudo apt install python3-pyqt5pip3 install pyqt5 python\nfrom PyQt5.QtWidgets import QApplication, QLabel, QWidget\napp = QApplication([])\nw = QWidget(); w.setWindowTitle('Hello')\nlbl = QLabel('Hello, PyQt5!', w); lbl.move(80,80)\nw.show(); app.exec_()\n 复杂桌面、控件丰富、跨平台
GTK+ 3(PyGObject) sudo apt install python3-gi gir1.2-gtk-3.0 python\nimport gi; gi.require_version('Gtk','3.0')\nfrom gi.repository import Gtk\nwin = Gtk.Window(title="Hello GTK")\nbtn = Gtk.Button(label="Click")\nwin.add(btn); win.connect("destroy", Gtk.main_quit)\nwin.show_all(); Gtk.main()\n Linux 原生外观、GNOME 生态
wxPython sudo apt install python3-wxgtk4.0 python\nimport wx\napp = wx.App(False)\nfrm = wx.Frame(None, wx.ID_ANY, "Hello wx")\nwx.StaticText(frm, -1, "Hello, wxPython!", (50,50))\nfrm.Show(True); app.MainLoop()\n 原生外观、跨平台桌面
Kivy sudo apt install python3-kivypip3 install kivy python\nfrom kivy.app import App\nfrom kivy.uix.label import Label\nclass MyApp(App):\n def build(self): return Label(text='Hello, Kivy!')\nMyApp().run()\n 触控、移动与跨平台应用
  • 运行方式:保存为如 hello.py,在虚拟环境激活后执行 python3 hello.py。以上示例与安装命令适用于 Ubuntu 20.04/22.04/24.04 等常见版本。

三 如何选择

  • Tkinter:随 Python 提供、学习成本低,适合 小型工具/快速原型
  • PyQt5:功能强大、控件丰富、生态完善,适合 复杂桌面应用 与需要专业外观的项目。
  • GTK+ 3(PyGObject):与 Linux/GNOME 桌面风格一致,适合追求 原生外观 的 Linux 应用。
  • wxPython:跨平台、原生控件封装良好,适合 传统桌面应用
  • Kivy:专注 多点触控跨平台(含移动端),适合触控交互场景。

四 打包与分发

  • 桌面应用常用打包器:
    • PyInstallerpip install pyinstaller,打包命令示例:pyinstaller --onefile hello.py(生成单文件可执行程序)。
    • cx_Freezepip install cx_Freeze,适合多平台分发与自定义打包脚本。
  • 打包注意:
    • 如使用 PyQt5/GTK/Kivy,确保打包时包含 平台相关依赖数据文件(如图标、翻译、qss/glade 等)。
    • 在无头/服务器环境打包时,可设置虚拟显示(如 Xvfb)以避免 GUI 初始化失败。

0