python 关于StringVar的问题

python 关于StringVar的问题,第1张

print learngree 打印出来的结果应该是 learngree 这个对象在内存中的存储地址,而不是这个变量刚刚被你设置的字符串.

要想获取你设置的字符串(“kaoyan”),你需要看一下这个 StringVar类型的对象是否提供了一个函数来让你访问到该对象中保存的字符串.

你可以这样来看一下: 在 python prompt shell 里面用 dir(StringVar) 来看一下所有的函数.

可以,但是你怎么用,比如字典dicA={'a':'abc','b':'bcd'}

字典的键是,a和b,所以你要用a或b做变量有什么不可以,但是有什么意义

或者你的意思 是用dica['a']做变量,但是dica['a']=‘abc',也就不是用键做变量,而是用值做变量,

所以,你的问题无法理解

import tkinter

win=tkinter.Tk()

win.title('第一个窗口')

win.geometry()

'''

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

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

'''

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

'''

lb=tkinter.Listbox(win,selectmode=tkinter.BROWSE)

lb.pack()

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

#1:添加

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

    lb.insert(tkinter.END,item) 

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

lb.insert(tkinter.ACTIVE,'cool') 

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

#lb.insert(tkinter.END,['cool','sunk']) 

'''

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

#lb.delete(1)

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

#lb.select_set(2)

#lb.select_set(2,4)

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

#lb.select_clear(2)

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

#print(lb.size())

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

#print(lb.get(1,2))

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

#print(lb.curselection())

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

#print(lb.select_includes(1))

#9:绑定变量

#lbv=tkinter.StringVar()

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

#print(lbv.get())

#   9.2 设置选项(tuple)

#lbv.set(('1','2'))

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

'''

def myPrint(event):

    print(lb.get(lb.curselection()))

lb.bind('<Double-Button-1>',myPrint)

#11:滚动条

sc=tkinter.Scrollbar(win)

sc.pack(side=tkinter.RIGHT,fill=tkinter.Y)

lb.pack(side=tkinter.LEFT,fill=tkinter.BOTH)

#关联

lb.configure(yscrollcommand=sc.set)  (config方法也可以)

sc['command']=lb.yview #额外给属性赋值,相当于 sc.configure(command=text.yview)

'''

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

lb=tkinter.Listbox(win,selectmode=tkinter.SINGLE,listvariable=lbv)

lb.pack()

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

    lb.insert(tkinter.END,item)

'''

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

'''

lb=tkinter.Listbox(win,selectmode=tkinter.EXTENDED)

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

    lb.insert(tkinter.END,item)

sc=tkinter.Scrollbar(win)

sc.pack(side=tkinter.RIGHT,fill=tkinter.Y)

lb.configure(yscrollcommand=sc.set)

lb.pack(side=tkinter.LEFT,fill=tkinter.BOTH)

sc['command']=lb.yview

'''

#四:【在二的功能上,支持多选】使用selectmode=tkinter.MULTIPLE

lb=tkinter.Listbox(win,selectmode=tkinter.MULTIPLE)

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

    lb.insert(tkinter.END,item)

lb.pack()

win.mainloop()


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

原文地址:https://54852.com/bake/11274925.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存