本篇内容介绍了“Python Tkinter怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、微信小程序定制开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了乐清免费建站欢迎大家使用!
官方用的GUI工具包——Tkinter(IDLE就是用这个开发的)。
Tkinter是Python的标准GUI库,它实际是建立在Tk技术上的。在大多数Unix平台以及Windows系统上
都可用。
作为 python 特定的GUI界面,是一个图像的窗口,tkinter是python 自带的,可以编辑的GUI界面,我
们可以用GUI 实现很多直观的功能,比如想开发一个计算器,如果只是一个键盘输入,输出的黑色窗
口,是没用用户体验的。所有开发一个图像化的小窗口,就是必要的。
对于稍有GUI编程经验的人来说,Python的Tkinter界面库是非常简单的。python的GUI库非常多,选择
Tkinter,一是最为简单,二是自带库,不需下载安装,随时使用,三则是从需求出发,Python作为一
种脚本语言,或者说一种胶水语言,一般不会用它来开发复杂的桌面应用,它并不具备这方面的优势,
使用Python,可以把它作为一个灵活的工具,而不是作为主要开发语言,那么在工作中,需要制作一个
小工具,肯定是需要有界面的,不仅自己用,也能分享别人使用,在这种需求下,Tkinter是足够胜任
的!
Tkinter是Python默认的GUI库,像IDLE就是用Tkinter设计出来的,因此直接导入Tkinter模块就可以了:
接下来从最简单的例子入手:
import tkinter import tkinter as tk # 创建一个主窗口,用于容纳整个GUI程序 root = tk.Tk() # 设置主窗口对象的标题栏 root.title("First Demo") # 添加一个Label组件,Label组件是GUI程序中最常用的组件之一。 # Label组件可以显示文本、图标或者图片 # 在这里我们让它显示指定文本 theLabel = tk.Label(root, text="我的第一个tkinter窗口!") # 然后调用Label组件的pack()方法,用于自动调节组件自身的尺寸 theLabel.pack() # 注意,这时候窗口还是不会显示的… # 除非执行下面这条代码! root.mainloop()
执行程序,如图所示。
loop因为是循环的意思,root.mainloop就会让root不断的刷新,如果没有mainloop,就是一个静态的root,传入进去的值就不会有循环,mainloop就相当于一个很大的while循环,有个while,每点击一次就会更新一次,所以我们必须要有循环。
所有的窗口文件都必须有类似的mainloop函数,mainloop是窗口文件的关键的关键。
意思是一旦进入了主事件循环,就由Tkinter掌管一切了。现在不理解没关系,在后面的学习中你会有深刻的体会。GUI程序的开发与以往的开发经验会有截然不同的感受。
通常如果要写一个比较大的程序,那么应该先把代码给封装起来。在面向对象的编程语言中,就是封装成类。看下面进阶版的例子:
import tkinter as tk def create_button(root): # 创建一个按钮组件 # fg 是 foreground 的缩写, 就是设置前景色的意思 say_hello = tk.Button(root, text='打招呼', fg='blue', command=eat) say_hello.pack() return root def eat(): print('今天你吃饭了吗?') root = tk.Tk() app = create_button(root) root.mainloop()
“Python Tkinter怎么使用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!
本文标题:PythonTkinter怎么使用
网页URL:https://www.cdcxhl.com/article46/jhsehg.html
成都网站建设公司_创新互联,为您提供网站设计公司、建站公司、响应式网站、App开发、动态网站、云服务器
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联