1. 准备Python开发环境
在Ubuntu上开发Python图形界面前,需先配置基础环境:
sudo apt update && sudo apt install python3 python3-pip
sudo apt install python3-venv && python3 -m venv venv && source venv/bin/activate
sudo apt install python3-dev
2. 选择合适的GUI库
根据需求选择合适的库(以下为Ubuntu常用选项):
3. 安装目标GUI库
根据选择执行对应安装命令:
sudo apt install python3-tk
pip install PyQt5
或通过系统包管理器:sudo apt install python3-pyqt5
pip install PyQt6
pip install kivy[base]
pip install wxPython
或系统包管理器:sudo apt install python3-wxgtk4.0
sudo apt install python3-gi gir1.2-gtk-3.0
。4. 快速入门示例
以Tkinter(标准库)和PyQt6(功能强大)为例,展示基础流程:
① Tkinter示例(简单窗口+按钮交互)
import tkinter as tk
from tkinter import messagebox
class SimpleTkinterApp:
def __init__(self, master):
self.master = master
master.title("Tkinter示例")
# 添加标签
label = tk.Label(master, text="请输入你的名字:")
label.pack(pady=10)
# 添加输入框
self.entry = tk.Entry(master, width=30)
self.entry.pack(pady=5)
# 添加按钮
button = tk.Button(master, text="打招呼", command=self.show_greeting)
button.pack(pady=10)
def show_greeting(self):
name = self.entry.get().strip()
if name:
messagebox.showinfo("欢迎", f"你好,{name}!")
else:
messagebox.showwarning("警告", "请输入名字!")
# 创建主窗口并运行
root = tk.Tk()
app = SimpleTkinterApp(root)
root.geometry("300x150")
root.mainloop()
② PyQt6示例(使用Qt Designer设计界面)
sudo apt install qttools5-dev-tools
designer
,拖拽按钮等控件,保存为mainwindow.ui
)pyuic6 mainwindow.ui -o ui_mainwindow.py
import sys
from PyQt6.QtWidgets import QApplication, QMainWindow, QMessageBox
from ui_mainwindow import Ui_MainWindow # 导入生成的UI类
class MainWindow(QMainWindow, Ui_MainWindow):
def __init__(self):
super().__init__()
self.setupUi(self) # 初始化UI
self.pushButton.clicked.connect(self.on_button_click) # 绑定按钮点击事件
def on_button_click(self):
self.statusbar.showMessage("按钮被点击了!", 3000) # 状态栏显示消息(3秒)
if __name__ == "__main__":
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec())
5. 进阶技巧
place
或PyQt的setGeometry
),优先使用pack
(简单布局)、grid
(网格布局)或QVBoxLayout
/QHBoxLayout
(垂直/水平布局),提升界面适应性。command
(Tkinter)或connect
(PyQt)绑定控件事件(如按钮点击、输入框内容变化),实现交互逻辑。pyuic6
转换的.ui文件需与主程序放在同一目录,或通过路径调整引用;复杂项目可使用qrc
文件管理图标、图片等资源(通过pyrcc6
转换为Python代码)。PyInstaller
将程序打包为可执行文件(.deb
或.AppImage
),方便分发:pip install pyinstaller && pyinstaller --onefile --windowed your_script.py
。