目录
Tkinter组件
CheckButton复选框控件
语法
显示多选框内容代码:
单选框
ListBox列表框
创建一个listbox
向列表框添加元素
在列表框开头添加元素
在列表框末尾添加元素
删除列表框元素
选中列表框中的元素
获取列表框中元素的个数
返回当前选中的元素的索引项
判断列表中一个元素是否被选中
打印列表框中元素
修改列表框中元素
给列表框绑定事件
列表框支持shift和control
列表框支持多选MULTIPLE
scale控件
创建scale
Python Tkinter 复选框用来选取我们需要的选项,它前面有个小正方形的方块,如果选中则有一个对号,也可以再次点击以取消该对号来取消选中。
语法格式如下:
w = Checkbutton ( master, option=value, ... )
import tkinter
#创建主窗口
win = tkinter.Tk()
win.title("主界面")
win.geometry("300x300")
def updata():
message = ""
if hobby1.get() == True:
message += "money\n"
if hobby2.get() == True:
message += "power\n"
if hobby3.get() == True:
message += "person\n"
#清除text中所有的内容
Text.delete(0.0,tkinter.END)
Text.insert(tkinter.INSERT,message)
#创建多选框
#绑定变量
hobby1 = tkinter.BooleanVar()
check1 = tkinter.Checkbutton(win,text="money",variable = hobby1,command = updata)
hobby2 = tkinter.BooleanVar()
check2 = tkinter.Checkbutton(win,text="power",variable = hobby2,command = updata)
hobby3 = tkinter.BooleanVar()
check3 = tkinter.Checkbutton(win,text="person",variable = hobby3,command = updata)
check1.pack()
check2.pack()
check3.pack()
Text = tkinter.Text(win,width=30,height=15)
Text.pack()
win.mainloop()
单选按钮控件;显示一个单选的按钮状态
语法:w = Radiobutton ( master, option=value, ... )
绘制一个单选框代码
#创建多选框
#绑定变量
i = tkinter.IntVar()
check1 = tkinter.Radiobutton(win,text="one",value = 1,variable = i)
check2 = tkinter.Radiobutton(win,text="two",value = 2,variable = i)
check3 = tkinter.Radiobutton(win,text="three",value = 3,variable = i)
check1.pack()
check2.pack()
check3.pack()
Text = tkinter.Text(win,width=30,height=15)
Text.pack()
列表框控件;在Listbox窗口小部件是用来显示一个字符串列表给用户
可以包含一个或者多个文本框,可以在listbox控件的小窗口显示字符串
#创建一个listbox
lb = tkinter.Listbox(win,selectmode = tkinter.BROWSE)
lb.pack()
win.mainloop()
#创建一个listbox,添加几个元素
lb = tkinter.Listbox(win,selectmode = tkinter.BROWSE)
lb.pack()
for i in ["ok","very","distance","parrlen"]:
#按顺序添加
lb.insert(tkinter.END,i)
win.mainloop()
#在列表框开头添加
lb.insert(tkinter.ACTIVE,"cool")
lb.insert(tkinter.END,"WARM")
语法: lb.delete(参数1,参数2)
参数1为开始的索引,参数2为结束的索引,不添加参数2,就只删除第一个索引引出的内容
for i in ["ok","very","distance","parrlen"]:
#按顺序添加
lb.insert(tkinter.END,i)
#删除元素 参数1为开始的索引,参数2为结束的索引,不添加参数2,就只删除第一个索引引出的内容
lb.delete(1,2)
语法:lb.select_set(参数1,参数2)
参数1为开始的索引,参数2为结束的索引,不添加参数2,就只选中第一个索引引出的内容
for i in ["ok","very","distance","parrlen"]:
#按顺序添加
lb.insert(tkinter.END,i)
#选中元素
lb.select_set(1,2)
语法:列表框.size()
print(lb.size())
语法:lb.curselection()
lb.select_set(1,2)
#返回当前选中的元素的索引项
print(lb.curselection())
#判断一个元素是否被选中
print(lb.selection_includes(0))
print(lb.selection_includes(2))
语法:lb.get()
#绑定变量
lbv = tkinter.StringVar()
#SINGLE与BROWSE相似,但SINGLE不支持鼠标按住后移动选中元素,只能按下鼠标才能选中元素
lb = tkinter.Listbox(win,selectmode = tkinter.SINGLE,listvariable = lbv)
lb.pack()
for i in ["ok","very","distance","parrlen"]:
#按顺序添加
lb.insert(tkinter.END,i)
#打印当前列表中元素
print(lbv.get())
语法:.set()
#打印当前列表中元素
print(lbv.get())
#设置选项
lbv.set(("1","2","3"))
print(lbv.get())
双击列表框内元素后,将会打印该元素的索引
def fun(event):
print(lb.curselection())
#绑定事件,双击
lb.bind('',fun)
EXTENDED 可以使列表框支持shift和control
#EXTENDED 可以使列表框支持shift和control
lb = tkinter.Listbox(win,selectmode = tkinter.EXTENDED)
lb.pack()
按住control能继续选中元素
点击列表框中的元素,第一次选中,第二次取消
ctrl+a全部选中
#MULTIPLE 支持多选
lb = tkinter.Listbox(win,selectmode = tkinter.MULTIPLE)
lb.pack()
for i in ["ok","very","distance","parrlen","ok","very","distance","parrlen","ok","very","distance","parrlen","parrlen","ok","very","distance","parrlen"]:
#按顺序添加
lb.insert(tkinter.END,i)
范围控件;显示一个数值刻度,为输出限定范围的数字区间
供用户通过拖拽指示器改变变量的值,可以水平,也可以竖直,默认竖直
#创建主窗口
win = tkinter.Tk()
win.title("主界面")
win.geometry("300x200")
#scale 起始值0,终点100
scale = tkinter.Scale(win,from_ = 0,to = 100)
scale.pack()
设置scale水平orient = tkinter.HORIZONTAL
scale = tkinter.Scale(win,from_ = 0,to = 100,orient = tkinter.HORIZONTAL)
scale.pack()
tickinterval选择值将会为该值的倍数,length为scale长度
scale = tkinter.Scale(win,from_ = 0,to = 100,orient = tkinter.HORIZONTAL,tickinterval = 10,length=200)
一起学习,一起进步 -.- ,如有错误,可以发评论