Python --- GUI编程(1)

简介: Python --- GUI编程(1)

GUI(Graphics User Interface)图形化用户界面编程


GUI编程类似于"搭积木",将一个个的组件放到窗口中,并给各 个组件赋予相应的事件绑定


常用的GUI库


Tkinter

是python标准的GUI库,支持跨平台的GUI开发,Tkinter适合小型的GUI程序

wxPython

比较流行的GUI库适合大型的应用程序开发,功能强于Tkinter整体框架类似于MFC

PyQT

Qt是一个开源的额GUI库,适合大型的GUI程序开发,PyQT 是Qt工具包的Python实现,我们也可以使用Qt Desginter页面设计器快速开发GUI应用程序

使用 tkinter 包开发第一个程序


tkinter 包 (“Tk 接口”) 是针对 Tcl/Tk GUI 工具包的标准 Python 接口。 Tk 和 tkinter 在大多数 Unix 平台,包括 macOS,以及 Windows 系统上均可使用。

导包

from tkinter import *
from tkinter import messagebox


实例化窗口对象


root = Tk()


设置窗口的大小和位置

geometry(widthxheight+x+y) 距离左面和上面的距离,里面参数如果是widthxheight-x-y 就是距离屏幕右边和下面的距离,也可以混用 +x-y距离左下,-x+y距离右上的


root.title("我的的第一个GUI程序")
# 参数的格式为:widthxheight+x+y
root.geometry("500x300+100+200")


添加按钮组件


btn01 = Button(root)
btn01["text"] = "按钮"
# 布局管理器,按顺序添加组件
btn01.pack()


绑定事件对象


def songhua(e):   # e就是事件对象
    # 弹出框
    messagebox.showinfo("Message","按钮的相应事件")
    print('按钮被点击')
# "<Button-1>" 鼠标左击
btn01.bind("<Button-1>",songhua)


显示窗口


# 进入事件循环显示窗口,调用它才会看到窗口
root.mainloop()


效果图


46cd816e90a9430284eafb5cb672a3a6.png

相应事件

23a6da3800244ad4a6c3267a75384178.png

完整的源码

from tkinter import *
from tkinter import messagebox
# 实例化一个窗口对象
root = Tk()
# 设置窗口的标题
root.title("我的的第一个GUI程序")
# 设置窗口的大小和位置
# 参数的格式为:widthxheight+x+y
root.geometry("500x300+100+200")
btn01 = Button(root)
btn01["text"] = "按钮"
# 布局管理器,按顺序添加组件
btn01.pack()
def songhua(e):   # e就是事件对象
    # 弹出框
    messagebox.showinfo("Message","按钮的相应事件")
    print('按钮被点击')
# "<Button-1>" 鼠标左击
btn01.bind("<Button-1>",songhua)
# 进入事件循环显示窗口,调用它才会看到窗口
root.mainloop()


相关文章
|
2月前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的首选语言
Python:现代编程的首选语言
251 102
|
2月前
|
数据采集 机器学习/深度学习 算法框架/工具
Python:现代编程的瑞士军刀
Python:现代编程的瑞士军刀
283 104
|
2月前
|
人工智能 自然语言处理 算法框架/工具
Python:现代编程的首选语言
Python:现代编程的首选语言
242 103
|
2月前
|
机器学习/深度学习 人工智能 数据挖掘
Python:现代编程的首选语言
Python:现代编程的首选语言
179 82
|
23天前
|
Python
Python编程:运算符详解
本文全面详解Python各类运算符,涵盖算术、比较、逻辑、赋值、位、身份、成员运算符及优先级规则,结合实例代码与运行结果,助你深入掌握Python运算符的使用方法与应用场景。
141 3
|
23天前
|
数据处理 Python
Python编程:类型转换与输入输出
本教程介绍Python中输入输出与类型转换的基础知识,涵盖input()和print()的使用,int()、float()等类型转换方法,并通过综合示例演示数据处理、错误处理及格式化输出,助你掌握核心编程技能。
307 3
|
1月前
|
并行计算 安全 计算机视觉
Python多进程编程:用multiprocessing突破GIL限制
Python中GIL限制多线程性能,尤其在CPU密集型任务中。`multiprocessing`模块通过创建独立进程,绕过GIL,实现真正的并行计算。它支持进程池、队列、管道、共享内存和同步机制,适用于科学计算、图像处理等场景。相比多线程,多进程更适合利用多核优势,虽有较高内存开销,但能显著提升性能。合理使用进程池与通信机制,可最大化效率。
227 3
|
6月前
|
API C++ 开发者
PySide vs PyQt:Python GUI开发史诗级对决,谁才是王者?
PySide 和 PyQt 是 Python GUI 开发领域的两大利器,各有特色。PySide 采用 LGPL 协议,更灵活;PyQt 默认 GPL,商业使用需授权。两者背后团队实力雄厚,PySide 得到 Qt 官方支持,PyQt 由 Riverbank Computing 打造。API 设计上,PySide 简洁直观,贴近原生 Qt;PyQt 增加 Pythonic 接口,操作更高效。性能方面,两者表现优异,适合不同需求的项目开发。选择时可根据项目特点与开源要求决定。
512 20
|
23天前
|
Java 调度 数据库
Python threading模块:多线程编程的实战指南
本文深入讲解Python多线程编程,涵盖threading模块的核心用法:线程创建、生命周期、同步机制(锁、信号量、条件变量)、线程通信(队列)、守护线程与线程池应用。结合实战案例,如多线程下载器,帮助开发者提升程序并发性能,适用于I/O密集型任务处理。
187 0
|
2月前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的多面手
Python:现代编程的多面手
70 0

推荐镜像

更多