我试图创建多个窗口使用tkinter,但我没有成功到目前为止。。。当我创建一个子窗口并在其上放置一个按钮时,该按钮是在父窗口中创建的!你知道吗
from tkinter import *
class Login_screen(Frame):
def __init__(self,master):
Frame.__init__(self, master)
self.grid()
self.button1 = Button(text = "Open",command = lambda: self.open_login())
self.button1.grid()
def open_login(self):
self.root2 = Toplevel()
self.root2.geometry("400x200")
self.app2 = Main_screen(self.root2)
class Main_screen(Frame):
def __init__(self,master):
Frame.__init__(self,master)
self.grid()
self.button = Button(text = "Close",command = lambda: self.close_windows())
self.button.grid()
def close_windows(self):
self.grid_forget()
root = Tk()
root.geometry("800x600")
app = Login_screen(root)
root.mainloop()
您需要为
Button()
提供主参数:master
是小部件的第一个参数,因此也可以通过:Button(self, text=...)
这是一个很好的实践,您应该养成总是显式提供
master
的习惯,否则Tk会将这个参数默认为None
,并将它放在根窗口上。你知道吗相关问题 更多 >
编程相关推荐