Jim*_*Jim 1 python user-interface listbox tkinter
有没有办法循环遍历 tkinter 列表框中的项目,这样我就可以检查项目的第一部分,如果两个字符串匹配,则删除它并用新项目替换它?
例如,如果我有:
{'breakfast':['bacon','eggs','beans'],
'lunch':['ham', 'cheese', 'bread'],
'dinner':['Steak','Potato','Vegetables']}
Run Code Online (Sandbox Code Playgroud)
这使用字符串格式显示在列表框中:
breakfast: Bacon, Eggs, Beans
lunch: Ham, Cheese, Bread
dinner: Steak, Potato, Vegetables
Run Code Online (Sandbox Code Playgroud)
如果我更改breakfast
为['Cereal', 'Milk']
如何更改列表框中的条目如果我不知道索引,并且只有字典键可以继续?
使用Listbox
's get
,delete
和insert
方法, withenumerate
来获取索引。
假设你做了from Tkinter import *
:
for i, listbox_entry in enumerate(my_listbox.get(0, END)):
if listbox_entry == old_breakfast_string:
my_listbox.delete(i)
my_listbox.insert(i, new_breakfast_string)
Run Code Online (Sandbox Code Playgroud)
如果您这样做了import Tkinter
,请替换END
为Tkinter.END
.
事实上,如果您正在寻找精确匹配(并且您确定该元素在 Listbox 中),您甚至不需要显式循环,而只需使用 Python 列表的index
方法:
i = my_listbox.get(0, END).index(old_breakfast_string)
my_listbox.delete(i)
my_listbox.insert(i, new_breakfast_string)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4510 次 |
最近记录: |