ubuntu

Ubuntu Python图形界面开发怎么入门

小樊
44
2025-09-25 07:55:14
栏目: 编程语言

Ubuntu下Python图形界面开发入门指南

一、准备工作:配置Python环境

在开始GUI开发前,需确保Ubuntu系统已安装Python及必要工具。打开终端,执行以下命令:

二、选择GUI库:根据需求选型

Python有多种GUI库,各有特点,适合不同场景:

三、常见GUI库入门示例

1. Tkinter(标准库,新手首选)

Tkinter无需安装,直接导入即可使用。以下是一个简单窗口示例(包含标签、输入框、按钮):

import tkinter as tk

def on_click():
    label.config(text=f"Hello, {entry.get()}!")

# 创建主窗口
root = tk.Tk()
root.title("Tkinter入门示例")
root.geometry("300x200")  # 设置窗口大小

# 添加组件
label = tk.Label(root, text="请输入你的名字:")
label.pack(pady=10)  # pady为垂直间距

entry = tk.Entry(root, width=20)  # 输入框
entry.pack(pady=5)

button = tk.Button(root, text="打招呼", command=on_click)
button.pack(pady=10)

# 运行主循环(保持窗口显示)
root.mainloop()

效果:弹出一个窗口,输入名字后点击按钮,标签会显示问候语。

2. PyQt5(功能强大,适合复杂应用)

PyQt5需通过pip安装:pip3 install PyQt5。以下是一个带标签和按钮的简单窗口:

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QPushButton, QVBoxLayout

def on_click():
    label.setText("按钮被点击了!")

# 创建应用实例
app = QApplication(sys.argv)

# 创建主窗口
window = QWidget()
window.setWindowTitle("PyQt5入门示例")
window.setGeometry(100, 100, 300, 200)  # (x, y, width, height)

# 布局管理(垂直布局)
layout = QVBoxLayout()

# 添加组件
label = QLabel("欢迎使用PyQt5!")
layout.addWidget(label)

button = QPushButton("点击我")
button.clicked.connect(on_click)  # 绑定点击事件
layout.addWidget(button)

# 设置布局
window.setLayout(layout)

# 显示窗口并进入主循环
window.show()
sys.exit(app.exec_())

效果:弹出一个窗口,点击按钮后标签文字会改变。

3. customtkinter(现代外观,Tkinter升级)

安装:pip3 install customtkinter。以下是一个现代风格的登录窗口:

import customtkinter as ctk

def login():
    print("登录成功!")

# 设置主题(可选:light/dark/system)
ctk.set_appearance_mode("dark")
ctk.set_default_color_theme("blue")

# 创建主窗口
root = ctk.CTk()
root.title("现代登录界面")
root.geometry("400x300")

# 添加组件
frame = ctk.CTkFrame(root, corner_radius=10)
frame.pack(pady=20, padx=20, fill="both", expand=True)

ctk.CTkLabel(frame, text="用户登录", font=("Arial", 20)).pack(pady=10)
ctk.CTkEntry(frame, placeholder_text="用户名").pack(pady=5)
ctk.CTkEntry(frame, placeholder_text="密码", show="*").pack(pady=5)
ctk.CTkButton(frame, text="登录", command=login).pack(pady=10)
ctk.CTkCheckBox(frame, text="记住密码").pack(pady=5)

root.mainloop()

效果:弹出一个深色主题的登录窗口,界面简洁现代。

四、提升开发效率:IDE与工具

五、学习资源推荐

0
看了该问题的人还看了