tkinter的操作逻辑和其他UI工具差不多,都是在设计好窗口之后,通过一个无限循环的函数将窗口持续不断地呈现给屏幕,所以最简单的tkinter程序为
import tkinter
win = tkinter.Tk()
win.title("test")#窗口标题
win.geometry("600x200+200+20")#窗口尺寸为600x200
win.mainloop()#无限循环的函数
而窗口内容的组织方式也很直观,就是将子控件放在父控件上,而窗口相当于根控件,是所有控件的族中。
tkinter中共有16个核心部件:
ButtonLabelMessageEntryTextFrameCanvasToplevelmessageBoxListboxCheckbuttonRadiobuttonMenuMenubuttonscalescrollbar
接下来实现一个最简单的功能——点击按钮改变标签的颜色。
import tkinter
from tkinter import ttk
win = tkinter.Tk()
win.title("started")
win.geometry("600x200+200+20")# 设置标签,win为其父控件,text为标签中的文字;bg为背景色
label = tkinter.Label(win,text="Label",bg="green")
label.grid(row=0,column=0)#这是一种网格布局方式defbtn_click():
label.bg="red"
button = tkinter.Button(win,text="Button",command=btn_click)
button.grid(row=0,column=1)
win.mainloop()
其中,
tkinter.Label
为标签控件,用于展示文字,其中
text
参数为标签内容,
bg
为其颜色。
tkinter.Button
为按钮控件,其
text
为按钮上的文本,
command
为点击时触发的事件,被定义为
btn_click
,其功能为点击按钮,改变标签颜色。
tkinter中的控件,其初始化函数的第一个参数,基本都是父控件,上面的代码中,
win
就是按钮和标签的父控件,也就是名为
started
的窗口。
Label
可以显示内置的位图,
import tkinter
from tkinter import ttk
win = tkinter.Tk()
win.geometry("400x150+200+20")# 设置标签,win为其父控件,text为标签中的文字;bg为背景色
imgs =["error","hourglass","info","questhead","question","warning","gray12","gray25","gray50","gray75"]for i inrange(len(imgs)):
tkinter.Label(win, width=50, height=25,
bitmap=imgs[i]).grid(row=int(i/5), column=i%5)
win.mainloop()
版权归原作者 微小冷 所有, 如有侵权,请联系我们删除。