tkinter模块常用参数(python3) 博客推荐
元组拆解
p = (1,2,3,4,5,6,7,)
a,b,c,d,e,f,g = p
print (a,b,c,d,e,f,g)
# 输出:1 2 3 4 5 6 7
复制代码
p =(1,)
for i in p:
print(i)
#输出:1
复制代码
p =(1,)
i= p
print(i)
#输出:(1,)
复制代码
listbox 单选运用
import tkinter
win = tkinter.Tk()
win.title("Listbox列表框")
win.geometry("800x600+600+100")
lbv=tkinter.StringVar()#绑定变量
#SINGLE与BORWSE作用相似,但是不支持鼠标按下后移动选中位置
lb=tkinter.Listbox(win,selectmode=tkinter.SINGLE,listvariable=lbv)
lb.pack()
for item in["good","nice","handsome","very good","verynice"]:
lb.insert(tkinter.END,item)
lb.insert(tkinter.ACTIVE,"cool")
#打印当前列表的选项
print(lbv.get())
#设置选项,把列表值变为1,2,3
#lbv.set(("1","2","3"))
#绑定事件
def myPrint(self):
print(lb.curselection())#提取点中选项的下标
print(lb.get(lb.curselection()))#提前点中选项下标的值
lb.bind("<Button-1>",myPrint)
win.mainloop()
复制代码
listbox多选运用
# 选中操作函数,使用函数实现。selection_set函数有两个参数第一个为开始的索引;
# 第二个为结束的索引,如果不指定则只选中第一个参数指定的索引项
from tkinter import *
root = Tk()
lb = Listbox(root)
for i in range(10):
lb.insert(END, str(i))
lb.selection_set(0, 10)
# 程序运行结果,选中了所有的项。 此代码并未指定Listbox为MULTIPLE或EXTENDED,查通过selection_set仍旧可以对Listbox进行操作。
# 与之相对的便是取消选中的函数了,参数与selection_set在参数相同,如下代码取消索引从0-3在状态
lb.selection_clear(0, 3)
'''得到当前Listbox中的item个数'''
print(lb.size()) # 输出10
lb.pack()
'''返回指定索引的项'''
print(lb.get(3)) # 输出3
# get也为两个参数的函数,可以返回多个项(item),如下返回索引值3-7的值
print(lb.get(3, 7)) # ('3', '4', '5', '6', '7'),是一个tuple类型
'''返回当前返回的项的索引,不是item的值'''
print(lb.curselection()) # (4, 5, 6, 7, 8, 9)
'''判断 一个项是否被选中,使用索引。'''
print(lb.selection_includes(8)) # True
print(lb.selection_includes(0)) # False
root.mainloop()
复制代码
#默认选中和取消
#选中
listbox.select_set(0,2)
#取消选中
listbox.select_clear(0,1)
输出:
1
2
3
4
#获取索引以及值
#返回制定索引的项值
print(listbox.get(1))
#返回多个项值,返回元组
print(listbox.get(0,2))
#返回当前选中项的索引
print(listbox.curselection())
复制代码
-
BROWSE:通常,只能从列表框中选择一行。如果单击一个项目,然后拖动到不同的行,选择将会跟随鼠标,是默认的。
-
SINGLE:你只能选择一行,不能拖动。
-
MULT IPLE:您可以同时选择任意数量的行。点击在任意直线上,无论它是否被选中。不能拖动。
EXTENDED: 您可以一次选择任何相邻的g线。单击第一行并将g拖到最后一行。能拖动
- EXPANDED使用Listbox来支持Shift和Control(如Windows下的快捷键)