手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

tkinter简单的入门教程

时间:2024-10-13 09:09:38

1、#开袋后,第一步先测试一下食物是否已经准备好了#tkinter 测试import tkinter #导入tkinter库tkinter._test() #使用内置的test进行测试#运行的效果

tkinter简单的入门教程

2、#接下来我们来创建一个简单的窗口import tkinter as tkroot = tk.Tk() #对Tk这个类实例化,即创建root实例root.title("窗口名") #设置窗口名root.geometry("400x200+100+100") #设置窗口大小,窗口的初始位置root.resizable(False,True) #设置只能调整窗口的Y方向大小root.mainloop() #进行事件循环,把它当作内部的一个执行动作#运行的效果如下

tkinter简单的入门教程

3、#这里是“标签”组件的使用import tkinter as tkroot = tk.Tk()root.title("使用标签")root.geometry("400x200+100+100")root.resizable(False,False) #禁止调整窗口大小my_label = tk.Label(root,text="标签内容放在这里",background="yellow",font=("Arial",12),width=15,height=2) #设置Label对象及属性my_label.pack() #放置标签"my_label"root.mainloop()#运行的效果如下

tkinter简单的入门教程

4、#按钮的使用相对标签要更难嚼一点,当然也就一点点而已import tki艘绒庳焰nter as tk #照常导入库root = tk.皈其拄攥Tk() root.title("使用按钮")root.geometry("400x200")#定义单击按钮动作,注意:定义按钮动作的代码要在写在放置按钮的前面def 单击按钮(): lb = tk.Label(root,text="单击按钮后显示的内容!",background="yellow",font=("Arial",12),width=18,height=2) #设置Label对象及属性 lb.pack()#设置Button对象及属性my_button = tk.Button(root,text="按钮上的内容!",background="pink",font=("Arial",12),width=18,height=2,command=单击按钮)#放置按钮my_button.pack()root.mainloop()#我单击按钮两次的效果

tkinter简单的入门教程

5、#前面的例子中都用到了pack方法,pack方法是tkinter中的一种霎霈喊纪布局方式,关于如何使用pack布局,下面这段代码可以好好体会一下熠硒勘唏from tkinter import *root=Tk()root.title("pack布局")Button(root,text="A",background="pink").pack(side=LEFT,expand=YES,fill=Y)Button(root,text="B",background="#FFFFFF").pack(side=TOP,expand=YES,fill=BOTH)Button(root,text="C",background="pink").pack(side=RIGHT,expand=YES,fill=NONE,anchor=NE)Button(root,text="D",background="pink").pack(side=LEFT,expand=NO,fill=Y)Button(root,text="E",background="pink").pack(side=TOP,expand=NO,fill=BOTH)Button(root,text="F",background="pink").pack(side=BOTTOM,expand=YES)Button(root,text="G",background="pink").pack(anchor=SE)root.mainloop()#background是设置按钮(其他组件一样)的背景颜色,pink只要你喜欢可以换成原谅绿"green"或者其他颜色,也可以设置成16进制的格式#.pack()的内容才是这节的要点。side,我百度了一下是侧边、旁边的意思,这不,在看看代码就很明显了嘛,LEFT,TOP,RIGHT,BOTTTOM,四个方向都齐了,表示当前按钮靠哪一边#expand,我就不去百度了,直接猜是扩张,展开的意思好了,YES,NO表示是否允许按钮在窗口大小调整时自动扩展按钮的大小,要结合fill使用#fill,看起来就是填充的意思嘛... X,Y,BOTH,NO表示允许哪个方向填充。X,敲!示例中忘了X,算了我已经截好图了,不改了。X代表水平方向,Y是竖直,BOTH是两个方向都允许,NO当然表示都不允许了#anchor,是锚点,表示磁力粘贴到哪,有E东S南W西N北以及两两结合的些个参数,不过有的两两在具体使用中是不能结合的,在示例中结合side去体会一下其作用#代码运行后就是这个样子(我稍微调整了一下窗口的大小)

tkinter简单的入门教程

6、#tkinter中除了pack布局外还可以使用grid布局import tkinter as tkroot=tk.Tk()tk.Label(root,text="账号:").grid(row=0,sticky='W')tk.Entry(root).grid(row=0,column=1,sticky='E')tk.Label(root,text="密码:").grid(row=1,sticky='W')tk.Entry(root).grid(row=1,column=1,sticky='E')tk.Button(root,text="登录").grid(row=2,column=1,sticky='E')root.mainloop()#grid布局相对直观易用很多,就是网格/表格化嘛,sticky参数跟anchor参数类似,也是东南西北来磁力吸附放置组件的相对位置#Entry是tkinter中的一个十分常用的组件,输入框组件#本节代码运行结果如下

tkinter简单的入门教程

7、小结一下,在tkinter中有三种布局方式:1、pack布局:不用设置,直接使用pack函数就行了2、grid布局:grid即为网格,它可以把界面设置为几行几列的网格,我们在网格里插入我们想要的元素。这种布局的好处是不管我们怎么拖动窗口,相对位置是不会变的。3、place布局:它直接使用死板的位置坐标来布局,这样做的最大问题在于我们向窗口添加一个新部件时,又得重新测一遍数据,且我们不能随便地变大或者缩小窗口。第三种就不讲了,相信我,你不会想去用的,用tkinter就是因为它易用啊,用place布局又何以呢?(说实话,我是不会用。。。)

8、#本节使用get()函数获得Entry中用户输入的内容,使用弹窗提示消息坡纠课柩import tkinter as tkfr泠贾高框om tkinter.messagebox import *root=tk.Tk()root.title("登录")def login(): s1=ent1.get() s2=ent2.get() if s1=="zxh" and s2=="123": showinfo("登录","登录成功!") else: showerror("警告","账号或密码错误!") ent1.delete(0,len(s1)) ent2.delete(0,len(s2)) tk.Label(root,text="账号:").grid(row=0,sticky=W)ent1=tk.Entry(root)ent1.grid(row=0,column=1,sticky=E)tk.Label(root,text="密码:").grid(row=1,sticky=W)ent2=tk.Entry(root)ent2.grid(row=1,column=1,sticky=E)tk.Button(root,text="登录",command=login).grid(row=2,column=1,sticky=E)root.mainloop()#本节的例子是创建一个模拟登录的窗口,输入正确的账号:zxh和密码:123就弹窗提示登录成功!,否则就弹窗警告账号或密码错误,并清空输入框#新知识点:get()方法获得Entry输入框的内容,showinfo和showerror弹窗#运行结果如下

tkinter简单的入门教程

9、tkinter中远不止以上介绍的组件,Python tkinter中有21个核心组件:Toplevel Label Button Canvas Checkbutton Entry Frame LabelFrameListbox Menu Menubutton Message OptionMenu PaneWindow Radiobutton Scale Scrollbar Spinbox Text Bitmap Image对于不要求界面美观的实用主义者来说完全是够用的了。

© 手抄报圈