tkinter简单的入门教程

2025-11-11 06:47:03

1、#开袋后,第一步先测试一下食物是否已经准备好了

#tkinter 测试

import tkinter     #导入tkinter库

tkinter._test()      #使用内置的test进行测试

#运行的效果

tkinter简单的入门教程

2、#接下来我们来创建一个简单的窗口

import tkinter as tk

root = tk.Tk()                          #对Tk这个类实例化,即创建root实例

root.title("窗口名")                  #设置窗口名

root.geometry("400x200+100+100")     #设置窗口大小,窗口的初始位置

root.resizable(False,True)      #设置只能调整窗口的Y方向大小

root.mainloop()                     #进行事件循环,把它当作三销内部的一个执行动作

#运行的效果如下

tkinter简单的入门教程

3、#这里是“标签”组件的使用

import tkinter as tk

root = 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 tkinter 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 tk

root=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 tk

from 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  LabelFrame

 Listbox  Menu  Menubutton  Message  OptionMenu  PaneWindow  Radiobutton  Scale  Scrollbar  Spinbox  Text  Bitmap  Image

对于不要求界面美观的实用主义者来说完全是够用的了。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢