在Python Tkinter中向Listbox添加项目

时间:2017-10-17 09:58:48

标签: python button tkinter listbox logic

我希望单击按钮可以更新我的Listbox小部件。但是我遇到了逻辑错误。当我点击按钮时,没有任何反应。完全没有错误。

listOfCompanies: [[1, ''], [2, '-'], [3, '@ASK TRAINING PTE. LTD.'], [4, 'AAIS'], [5, 'Ademco'], [6, 'Anacle']

def populatebox():
            listBox.insert("end", listOfCompanies)

btn = Button(self, text="Update list", command = lambda: populatebox())
btn.pack()

1 个答案:

答案 0 :(得分:1)

如果您希望仅将tuple中的每个Listbox插入list,而不会将tuple分开,那么有两个主要内容变化。

首先,您无法将列表声明为list: [1, 2, 3, ...],它必须是list = [1, 2, 3, ...]

其次,您当前正在尝试将整个list插入Listbox中的一个条目。您应该迭代它们,请参阅下面的示例:

from tkinter import *

root = Tk()

listBox = Listbox(root)
listBox.pack()

listOfCompanies = [[1, ''], [2, '-'], [3, '@ASK TRAINING PTE. LTD.'], [4, 'AAIS'], [5, 'Ademco'], [6, 'Anacle']]

def populatebox():
    for i in listOfCompanies:
        listBox.insert("end", i)

btn = Button(root, text="Update list", command = lambda: populatebox())
btn.pack()