无法删除 Tkinter table 的内容
Contents of a Tkinter table unable to be deleted
我目前正在尝试在每次用户切换帧时刷新的 tkinter 中显示 table。我这样做的方法是在用户切换到另一个框架时删除 table 的所有内容,并在用户使用 [=22= 查看框架时立即添加并再次显示内容] 再次.
正在使用的树是
def View():
for row in db_actions.GetAllStudents(): #Method from a database used
tree.insert("", tk.END, values=row)
style = ttk.Style()
style.configure("Treeview.Heading", font = (None, 8))
style.configure("Treeview", font = (None, 8), rowheight=40)
tree = ttk.Treeview(StudentView, column=("c1", "c2", "c3", "c4"),
show='headings', height=180)
sidebar = ttk.Scrollbar(StudentView, orient="vertical")
sidebar.pack(side="right", fill=tk.Y)
sidebar.config(command=tree.yview)
tree.column("#1", anchor='center')
tree.heading("#1", text="First Name")
tree.column("#2", anchor='center')
tree.heading("#2", text="Surname")
tree.column("#3", anchor='center')
tree.heading("#3", text="Student Number")
tree.column("#4", anchor='center')
tree.heading("#4", text="Class")
tree.pack()
View()
切换帧时删除数据的子程序
def SwitchToMenu():
tree.delete(tree.get_children())
SwitchFrames(StudentView, MainMenu)
收到错误信息
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\BONK\AppData\Local\Programs\Python\Python39\lib\tkinter\__init__.py", line 1892, in __call__
return self.func(*args)
File "C:\Filepath", line 445, in SwitchToMenu
tree.delete(tree.get_children())
File "C:\Users\BONK\AppData\Local\Programs\Python\Python39\lib\tkinter\ttk.py", line 1246, in delete
self.tk.call(self._w, "delete", items)
_tkinter.TclError: Item I001 I002 not found
tree.delete
一次处理一项。您需要:
for item in tree.get_children():
tree.delete(item)
我目前正在尝试在每次用户切换帧时刷新的 tkinter 中显示 table。我这样做的方法是在用户切换到另一个框架时删除 table 的所有内容,并在用户使用 [=22= 查看框架时立即添加并再次显示内容] 再次.
正在使用的树是
def View():
for row in db_actions.GetAllStudents(): #Method from a database used
tree.insert("", tk.END, values=row)
style = ttk.Style()
style.configure("Treeview.Heading", font = (None, 8))
style.configure("Treeview", font = (None, 8), rowheight=40)
tree = ttk.Treeview(StudentView, column=("c1", "c2", "c3", "c4"),
show='headings', height=180)
sidebar = ttk.Scrollbar(StudentView, orient="vertical")
sidebar.pack(side="right", fill=tk.Y)
sidebar.config(command=tree.yview)
tree.column("#1", anchor='center')
tree.heading("#1", text="First Name")
tree.column("#2", anchor='center')
tree.heading("#2", text="Surname")
tree.column("#3", anchor='center')
tree.heading("#3", text="Student Number")
tree.column("#4", anchor='center')
tree.heading("#4", text="Class")
tree.pack()
View()
切换帧时删除数据的子程序
def SwitchToMenu():
tree.delete(tree.get_children())
SwitchFrames(StudentView, MainMenu)
收到错误信息
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\BONK\AppData\Local\Programs\Python\Python39\lib\tkinter\__init__.py", line 1892, in __call__
return self.func(*args)
File "C:\Filepath", line 445, in SwitchToMenu
tree.delete(tree.get_children())
File "C:\Users\BONK\AppData\Local\Programs\Python\Python39\lib\tkinter\ttk.py", line 1246, in delete
self.tk.call(self._w, "delete", items)
_tkinter.TclError: Item I001 I002 not found
tree.delete
一次处理一项。您需要:
for item in tree.get_children():
tree.delete(item)