Python中tkinter控件中的Listbox控件详解

Python中tkinter控件中的Listbox控件详解,第1张

import tkinter

win=tkinterTk()

wintitle('第一个窗口')

wingeometry()

'''

Listbox 列表框控件:可以包含一个或者多个文本框

作业:在listbox控件的小窗口显示一个字符串

'''

#一:支持鼠标移动选中位置使用selectmode=tkinterBROWSE,创建一个listbox,添加几个元素

'''

lb=tkinterListbox(win,selectmode=tkinterBROWSE)

lbpack()

for item in ['good','nice','beautiful']:

#1:添加

#按顺序添加(向后添加)

    lbinsert(tkinterEND,item) 

#在开始添加(往前添加)

lbinsert(tkinterACTIVE,'cool') 

#将列表当成一个元素添加

#lbinsert(tkinterEND,['cool','sunk']) 

'''

#2:删除索引从0开始数(删除开始索引到结束索引的所有元素),参数1为开始索引,参数2为结束索引,如果不指定参数2,只删除第一个索引的内容

#lbdelete(1)

#3:选中索引从0开始数(选中开始索引到结束索引的所有元素),参数1为开始索引,参数2为结束索引,如果不指定参数2,只选中第一个索引的内容

#lbselect_set(2)

#lbselect_set(2,4)

#4:取消选中索引从0开始数(取消选中开始索引到结束索引的所有元素),参数1为开始索引,参数2为结束索引,如果不指定参数2,只取消选中第一个索引的内容

#lbselect_clear(2)

#5:获取到列表中的元素个数

#print(lbsize())

#6:从列表中取值索引从0开始数(获取选中开始索引到结束索引的所有元素的值(tuple)),参数1为开始索引,参数2为结束索引,如果不指定参数2,只获取第一个索引的内容

#print(lbget(1,2))

#7:返回当前选中的索引项(得到索引),不是的到内容

#print(lbcurselection())

#8:判断 一个选项是否被选中,返回布尔类型 用索引表示 

#print(lbselect_includes(1))

#9:绑定变量

#lbv=tkinterStringVar()

#   91 打印当前列表中的所有选项(tuple)

#print(lbvget())

#   92 设置选项(tuple)

#lbvset(('1','2'))

#10:绑定事件(需要一个参数,但是不要传)

'''

def myPrint(event):

    print(lbget(lbcurselection()))

lbbind('<Double-Button-1>',myPrint)

#11:滚动条

sc=tkinterScrollbar(win)

scpack(side=tkinterRIGHT,fill=tkinterY)

lbpack(side=tkinterLEFT,fill=tkinterBOTH)

#关联

lbconfigure(yscrollcommand=scset)  (config方法也可以)

sc['command']=lbyview #额外给属性赋值,相当于 scconfigure(command=textyview)

'''

'''#二:不支持鼠标移动选中位置,支持鼠标按下后选中位置使用selectmode=tkinterSINGLE,创建一个listbox,添加几个元素,与(一)相似

lb=tkinterListbox(win,selectmode=tkinterSINGLE,listvariable=lbv)

lbpack()

for item in ['good','nice','beautiful']:

    lbinsert(tkinterEND,item)

'''

#三:在一的功能上,可以使listbox支持shift和control(实现连选与多选)使用selectmode=tkinterEXTENDED

'''

lb=tkinterListbox(win,selectmode=tkinterEXTENDED)

for item in ['good','nice','beautiful','good1','nice1','beautiful1','good2','nice2','beautiful2','good3','nice3','beautiful3']:

    lbinsert(tkinterEND,item)

sc=tkinterScrollbar(win)

scpack(side=tkinterRIGHT,fill=tkinterY)

lbconfigure(yscrollcommand=scset)

lbpack(side=tkinterLEFT,fill=tkinterBOTH)

sc['command']=lbyview

'''

#四:在二的功能上,支持多选使用selectmode=tkinterMULTIPLE

lb=tkinterListbox(win,selectmode=tkinterMULTIPLE)

for item in ['good','nice','beautiful','good1','nice1','beautiful1','good2','nice2','beautiful2','good3','nice3','beautiful3']:

    lbinsert(tkinterEND,item)

lbpack()

winmainloop()

主要原因出在你的bpy中的root = tkTk() 这一行代码。运行bpy时首先执行得就是这一行代码,然后就产生了一个新的窗口啊。

import a

import tkinter as tk

# root = tkTk()

def test():

    foo = aa('1019')

    root = tkTk()

    e = tkButton(root, text='var', command=test)

    epack()

    rootmainloop()

test()

global xiangmu_name

xiangmu_name = xls_textget()lstrip()upper()replace(" ", "")

用global定义输入量,可以获取输入值

点击事件可以传参数

button1=tkinterButton(win,text='打印',command=lambda : pri1(entry=entry))#调用

my_test

def pri1(entry):

print(entryget())

print('jj')

以上就是关于Python中tkinter控件中的Listbox控件详解全部的内容,包括:Python中tkinter控件中的Listbox控件详解、python 中tkinter Entry 附值问题、Python的tkinter库返回的是空怎么办等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9642186.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存