就像标题所示,如何在单击按钮重新填充列表框时清除列表框。下面的代码给我一个错误
代码:
self.listNodes.delete(0,END)
错误:
NameError: name 'END' is not defined
答案 0 :(得分:8)
根据您导入tkinter的方式,您可能需要将结尾放在引号中 尝试:
self.listNodes.delete(0,'end')
你也可以使用:
self.listNodes.delete(0,tk.END)
答案 1 :(得分:2)
替换:
self.listNodes.delete(0,END)
使用:
self.listNodes.delete('0','end')
END
是tkinter模块的变量,它建议使用通配符(from tkinter import *
)导入或from tkinter import END
。
答案 2 :(得分:1)
破坏是删除某些东西的最佳方法。
self.listNode.destroy()
,然后将您的数据再次添加到ListBox
。
答案 3 :(得分:1)
你可以像这样 Distroy 列表节点
from tkinter import *
self.listnodes.delete(0, END) *
答案 4 :(得分:0)
您可以使用这是您将tkinter导入为:
var body: some View {
NavigationView {
List {
Toggle(isOn: $showFavoritesOnly) {
Text("Favorites only")
}
ForEach(self.buildings.filter({b in self.showFavoritesOnly || b.favourite}), id: \.self) { building in
Text("Blah")
}
}
}
或者您可以这样做:
import tkinter as tk
self.listnodes.delete(0, tk.END)