当前位置:

首页 > 编程开发 > Ubuntu Python图形界面开发怎么入门

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

Ubuntu下Python图形界面开发入门需先配置Python环境,根据需求选择GUI库,Tkinter适合基础应用,PyQt5功能强大,customtkinter提供现代外观。通过示例代码可快速创建窗口,配合PyCharm等工具及PyInstaller打包,结合官方文档和教程即可完成入门。

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

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

想用Python在Ubuntu上做个带界面的小工具?其实门槛比想象中低得多。从环境准备到第一个窗口跑起来,拢共也就几步的事。下面就把这条路捋清楚,顺便聊聊不同库的选型思路,帮你少走些弯路。

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

动手之前,先把环境收拾利索。打开终端,做几件基础事:

  • 更新软件包列表:sudo apt update
  • 安装Python3和pip:sudo apt install python3 python3-pip
  • (推荐)安装虚拟环境工具,隔离项目依赖:sudo apt install python3-venv

验证一下:终端里分别敲python3 --version和pip3 --version,能看到版本号就说明齐活了。

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

Python的GUI库有好几款,各有各的脾气,选对了对胃口能省不少事:

  • Tkinter:Python自带的标准库,不用额外装,学起来快,适合做基础窗口,比如工具类小应用、简单配置面板。
  • PyQt / PySide:基于Qt框架,功能硬核,控件丰富,还有可视化设计工具,适合开发企业级桌面应用、多媒体工具这类复杂项目。
  • Kivy:跨平台框架,支持移动端,适合做多点触控应用,比如手机APP或小游戏。
  • customtkinter:在Tkinter基础上包了一层现代UI,圆角按钮、滑动条这些控件颜值在线,适合想快速做个好看基础应用的同学。

三、常见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需要先装一下: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()

出来的窗口是深色主题,简洁现代,颜值确实比原生Tkinter高出一截。

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

  • PyCharm:Python IDE里的王牌,支持PyQt的可视化设计,代码补全、调试都很顺手。装社区版免费,解压后运行bin/pycharm.sh就能启动。
  • Visual Studio Code:轻量编辑器,装上Python扩展(比如“Python”“Pylance”)后,语法高亮、代码提示都到位,适合喜欢折腾编辑器的人。
  • PyInstaller:把Python脚本打包成可执行文件(.exe/.deb等),方便分发给没有Python环境的用户。安装:pip3 install pyinstaller,打包命令:pyinstaller --onefile your_script.py,生成的可执行文件在dist目录下。

五、学习资源推荐

  • 官方文档:Python官方《Tkinter tutorial》、PyQt官方文档(doc.qt.io)、Kivy官方文档(kivy.org/doc)。
  • 在线教程:菜鸟教程的Python GUI部分、Real Python的PyQt系列文章、Kivy官方教程。
  • 书籍:《Python编程:从入门到实践》里有Tkinter章节;《PyQt5从入门到实践》和《Kivy Cookbook》也是不错的进阶读物。

照着上面的步骤和例子走一遍,Ubuntu下的Python GUI开发就算正式入门了。接下来根据实际需求选好库,多动手,慢慢就能做出自己想要的复杂应用。

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
作者最新文章
编程开发 Ubuntu
相关文章 更多
Ubuntu命令行入门:打开终端并验证文件目录操作
Ubuntu命令行入门:打开终端并验证文件目录操作

本教程指导Ubuntu新手打开终端,通过pwd、ls、cd、mkdir和touch命令完成基础文件目录操作。适用于桌面版、虚拟机及WSL环境,提供从查看路径到创建测试文件的完整验证步骤,帮助读者建立命令行操作的安全意识与正确习惯。

在VMware中安装Ubuntu并验证启动的完整步骤
在VMware中安装Ubuntu并验证启动的完整步骤

本文提供在VMware中安装Ubuntu并验证启动的完整流程。适用于首次练习Linux或搭建开发环境的用户。按步骤完成虚拟机创建、ISO挂载、硬件分配与安装后,可通过终端命令确认版本、内核与网络状态,确保系统可正常使用。

Ubuntu 26.04 将显著提升英伟达图形显卡在 Wayland 环境下的性能
Ubuntu 26.04 将显著提升英伟达图形显卡在 Wayland 环境下的性能

Ubuntu26.04LTS针对英伟达显卡在Wayland+GNOME环境进行性能调优,通过修改gbm_surface_lock_front_buffer函数,将帧渲染等待时间从毫秒级降至微秒级,显著提升UI响应和画面流畅度。该补丁已作为发行版专属补丁集成,确保LTS用户无需等待上游整合即可获得优化体验。

Ubuntu Touch 24.04-2.0 Beta 发布:适配索尼 Xperia X 等手机 提升上网体验
Ubuntu Touch 24.04-2.0 Beta 发布:适配索尼 Xperia X 等手机 提升上网体验

UbuntuTouch24.04-2.0Beta发布,底层升级至Ubuntu24.04,浏览器引擎从Chromium87跃升至134,网页兼容性显著提升;新增屏幕刘海区域自动适配、截图编辑器、网络指示器改进、移动数据可靠性增强、数据加密稳定,并新增NothingPhone(1)等设备支持。

Ubuntu如何查看系统防火墙规则
Ubuntu如何查看系统防火墙规则

ufw status仅显示高层策略和显式添加的规则(如“80 ALLOW Anywhere”),不反映默认策略绕过、IPv6独立规则、Docker等直写nftables的bypass规则,也无法体现本地回环流量不受管控等底层细节。Ubuntu 默认用 ufw 管理防火墙,但规则实际由 nftable

Ubuntu如何更换锁屏背景图片
Ubuntu如何更换锁屏背景图片

锁屏背景和桌面壁纸之所以不同,是因为GNOME默认会复制桌面壁纸,然后强制叠加高斯模糊和亮度调整效果,这个效果是由lockDialogGroup的CSS来控制的。要是想去除模糊,建议使用Control Blur Effect On Lock Screen扩展,把Adjust Sigma设置为0就行。

UbuntuSwapper在服务器上应用效果如何
UbuntuSwapper在服务器上应用效果如何

Ubuntu Swapper(一般就是指Ubuntu的交换分区或者交换文件)在服务器上的应用成效,是由多个因素共同决定的,像服务器的硬件配置情况、工作负载的类型以及交换空间的大小和具体配置等。下面为大家带来一些有关Ubuntu Swapper在服务器上应用效果的一般性评价:正面效果内存管理:交换空间

Ubuntu如何配置命令行模式下的中文支持
Ubuntu如何配置命令行模式下的中文支持

根本原因是纯命令行tty默认不支持UTF-8及中文字体渲染,locale设置仅影响字符解析逻辑,不解决字体绘制问题;图形终端自带UTF-8渲染,而tty需借助fbterm等工具实现中文显示。为什么终端里中文显示为问号或方块 纯命令行(tty,例如通过Ctrl+Alt+F3进入的界面)默认不会加载UT

如何通过Tomcat日志提升Ubuntu服务器性能
如何通过Tomcat日志提升Ubuntu服务器性能

通过分析Tomcat日志来提升Ubuntu服务器性能是一个很好的方法。以下是一些步骤和建议,帮助你通过Tomcat日志来优化服务器性能:1. 收集日志首先,得保证你的Tomcat服务器有详细的日志记录配置。在conf/logging.properties文件里,你可以对日志级别和输出格式进行调整。o

Ubuntu如何设置具体的命令行配色
Ubuntu如何设置具体的命令行配色

直接修改PS1是最为可控且轻量的方法。因为GNOME Terminal主题难以区分提示符、命令输入与输出,而PS1搭配ANSI转义码能够精准地为各个字段上色,并且需要用[ ]进行包裹,以防止光标出现错位的情况。直接改 PS1 是最可控、最轻量的方式,不需要装框架或改终端全局配色。 为什么不用改 GN

查看更多
精品专题 更多
装机必备
装机必备

正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

Windows
Windows

正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

PDF教程
PDF教程

正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

Mac软件 更多
AirBuddy 3 macOS版
AirBuddy 3 macOS版
macOS

AirBuddy 3 是面向 macOS 的蓝牙外设增强工具,可集中查看 AirPods、Beats 与苹果设备电量,提供快速连接、播放控制、电量提醒、桌面小组件和多台 Mac 外设接力等功能。

AirServer macOS版
AirServer macOS版
macOS

AirServer macOS版可把 Mac 转换为无线投屏接收端,通过 AirPlay 或 Google Cast 接收手机、平板和电脑画面,并支持多设备同时连接、高清镜像及会话录制,适合家庭娱乐、课堂教学、会议演示和应用展示。

AnyDesk macOS版
AnyDesk macOS版
macOS

AnyDesk macOS版是一款适用于远程办公、设备维护和客户支持的远程桌面工具,可连接并操作异地计算机,支持文件传输、无人值守访问、会话权限控制及跨平台协作。

WINDOWS 更多
Fuzor Windows版
Fuzor Windows版
Windows

Fuzor Windows版是一套面向建筑、工程与施工团队的BIM/VDC平台,可汇集多来源模型和进度数据,完成实时可视化、4D施工推演、场地物流规划、问题检查、成果演示及团队协同。

Gety Windows版
Gety Windows版
Windows

Gety Windows版是一款本地AI文件搜索工具,可索引电脑中的文档和图片,通过全文搜索、语义检索与OCR快速定位内容,并提供原版式预览、筛选和AI工具连接功能。

iMazing Windows版
iMazing Windows版
Windows

iMazing Windows版是一款面向iPhone、iPad和iPod用户的本地设备管理工具,可在电脑上完成多版本备份、照片与音乐传输、信息导出、应用数据管理以及新旧设备迁移。