找回密码
 会员注册
查看: 31|回复: 0

pythonpythonGUI编程--tkinter模块初探

[复制链接]

3

主题

0

回帖

10

积分

新手上路

积分
10
发表于 2024-9-5 11:20:53 | 显示全部楼层 |阅读模式
✨✨欢迎大家来到景天科技苑✨✨🎈🎈养成好习惯,先赞后看哦~🎈🎈🏆作者简介:景天科技苑🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。🏆《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi,flask等框架,linux,shell脚本等实操经验,网站搭建,数据库等分享。所属的专栏:python图形化GUI编程tkinter精讲景天的主页:景天科技苑文章目录1.GUI图形用户界面编程2.python中常用的GUI库1.tkinter模块2.GUI编写程序步骤1.创建应用程序主窗口对象(也称:根窗口)2.在主窗口中,添加各种可视化组件,比如:按钮(Button)、文本框(Label)等。3.通过几何布局管理器,管理组件的大小和位置4.事件处理5.完整代码1.GUI图形用户界面编程我们之前实现的都是基于控制台的程序,程序和用户的交互通过控制台来完成。本章,我们将学习GUI(GraphicsUserInterface),即图形用户界面编程,我们可以通过python提供的丰富的组件,快速的实现使用图形界面和用户交互。GUI编程类似于“搭积木”,将一个个组件(Widget)放到窗口中。如下是windows中的画图软件,就是一个典型的GUI程序:上面的各种按钮、菜单、编辑区域等都是一个个组件,它们都放置到窗口中,并通过增加“对事件的处理”成为一个完整的程序。2.python中常用的GUI库Tkintertkinter(Tkinterface)是Python的标准GUI库,支持跨平台的GUI程序开发。tkinter适合小型的GUI程序编写,也特别适合初学者学习GUI编程。本章以tkinter为核心进行讲解。wxPythonwxPython是比较流行的GUI库,适合大型应用程序开发,功能强于tkinter,整体设计框架类似于MFC(MicrosoftFoundationClasses微软基础类库)。PyQTQt是一种开源的GUI库,适合大型GUI程序开发,PyQT是Qt工具包标准的Python实现。我们也可以使用QtDesginer界面设计器快速开发GUI应用程序。1.tkinter模块本章中,涉及大量的API讲解。学习API最好的来源就是官方提供的文档:tkinter官方网址:https://docs.python.org/3.11/library/tk.html2.GUI编写程序步骤GUI编程的核心步骤和第一个GUI程序基于tkinter模块创建GUI程序包含如下4个核心步骤:1.创建应用程序主窗口对象(也称:根窗口)(1)通过类Tk的无参构造函数fromtkinterimport*#创建个窗口root=Tk()123此时创建窗口,运行后不会出现我们创建的窗口此时,需要调用组件的mainloop方法,进入事件循环,才会出现窗口root.mainloop()1此时就会弹出窗口,程序处于阻塞状态。就是个死循环,用来监听用户是否有操作,进入相应的方法执行一些事件2.在主窗口中,添加各种可视化组件,比如:按钮(Button)、文本框(Label)等。#创建button对象,将窗口作为参数传进去,表示把button放进窗口里btn01=Button(root)btn01["text"]="点我就送花"1233.通过几何布局管理器,管理组件的大小和位置btn01.pack()1此时运行程序,只显示个按钮,点击也没反应需要对事件进行处理4.事件处理(1)通过绑定事件处理程序,响应用户操作所触发的事件(比如:单击、双击等)#事件处理#通过绑定事件处理程序,响应用户操作所触发的事件(比如:单击、双击等)#方法里面传一个参数,e表示事件对象defsonghua(e):#显示到窗口上的信息,需要导入模块messageboxmessagebox.showinfo("Message","送你一朵玫瑰花,请你爱上我")print("送你99朵玫瑰花")print("e是什么",e)#事件绑定,bind第一个参数表示鼠标左键单击,第二个参数是事件函数btn01.bind("",songhua)1234567891011此时运行程序,点击按钮,就会在窗口上显示出我们设置的内容点击确定,可以看到控制台打印5.完整代码fromtkinterimport*fromtkinterimportmessagebox#创建个窗口root=Tk()#在主窗口中,添加各种可视化组件,比如:按钮(Button)、文本框(Label)等。#创建button对象,将窗口作为参数传进去,表示把button放进窗口里btn01=Button(root)btn01["text"]="点我就送花"#通过几何布局管理器,管理组件的大小和位置btn01.pack()#事件处理#通过绑定事件处理程序,响应用户操作所触发的事件(比如:单击、双击等)#方法里面传一个参数,e表示事件对象defsonghua(e):#显示到窗口上的信息,需要导入模块messageboxmessagebox.showinfo("Message","送你一朵玫瑰花,请你爱上我")print("送你99朵玫瑰花")print("e是什么",e)#事件绑定,bind第一个参数表示鼠标左键单击,第二个参数是事件函数btn01.bind("",songhua)#需要调用组件的mainloop方法,进入事件循环,才会出现窗口root.mainloop()123456789101112131415161718192021222324252627282930
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2025-1-7 06:08 , Processed in 0.441244 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表