<p>将按钮放置在新框架中,并使用以下方法清除框架:</p>
<pre><code>for widget in frame.winfo_children():
widget.destroy()
</code></pre>
<p>不建议使用globals,但我仍然使用它们-</p>
<pre><code>import tkinter as tk
x,y=10,100 #global variables for positions
root=tk.Tk()
root.title("Time Table")
root.geometry("800x600")
frame1 = tk.Frame(root,width=750,height=600)
frame1.place(x=25,y=30)
mainLabel=tk.Label(root,text="Select Timetable below")
mainLabel.place(x=10,y=10)
#button to create a new table
newtablebtn=tk.Button(root,text="+Create Table")
newtablebtn.place(x=320,y=50,width=90,height=30)
#button to delete a table
deletetablebtn=tk.Button(root,text="X Delete All Tables")
deletetablebtn.place(x=430,y=50,width=100,height=30)
#status bar at the bottom right
statusbar=tk.Label(root,text='Status: ')
statusbar.place(x=550,y=570)
#Using this function for buttons that shouldn't perform any function;command=Null didn't work
def nocommand():
pass
#function creates buttons, as a placeholder for tables
def createtable():
global y
global x
btn=tk.Button(frame1,text="Table")
btn.place(x=x,y=y,width=100,height=100)
#for the button to not go beyond the main window's border
if y <= 400:
y += 120
else:
if x<600:
x += 120
y = 100
else:
newtablebtn.configure(command=nocommand)
statusbar.configure(text="Status: No more tables can be created!")
#THE FUNCTION I NEED HELP WITH
def deletetables():
global x,y
x,y=10,100
for widgets in frame1.winfo_children():
widgets.destroy()
#configuring buttons to perform actions
newtablebtn.configure(command=createtable)
deletetablebtn.configure(command=deletetables)
root.mainloop()
</code></pre>