在tkinter中用旧的接口替换新接口

时间:2017-10-07 21:15:35

标签: python-2.7 user-interface tkinter

我创建了一个具有名为mainScreen()的函数的类。它只需打印主屏幕上有两个按钮。如果按任何按钮,它必须转到另一个名为signup()的函数。我想清除整个框架并创建新的小部件,但我无法清除小部件

class graphics:
    def __init__(self, master):
    self.root = master


    def mainscreen(self):
        helv36 = tkFont.Font(family='Century Gothic', size=20)
        mainFrame = Frame(self.root)
        mainFrame.config(relief='sunken', width=1280, height=720, bg='light 
blue')
        mainFrame.pack(expand='yes', fill='both')
        inButton = Button(mainFrame, text = "Sign up", bd = 10, relief = 
GROOVE, font = helv36)
        inButton.bind("<Button-1>", self.signup)
        inButton.place(bordermode = OUTSIDE, width =160, height = 60, x = 
600, y = 300)
        upButton = Button(mainFrame, text = "Sign in", bd = 10, relief = 
GROOVE, font = helv36)
        upButton.bind("<Button-1>", self.signup)
        upButton.place(bordermode = OUTSIDE, width =160, height = 60, x = 
600, y = 400)
        mainFrame.pack_propagate(FALSE)
        self.root.mainloop()

    def signup(self,event):
        signUpShow = Frame(self.root)
        signUpShow.config(relief='sunken', width=1280, height=720, bg='light 
yellow')
        signUpShow.pack(expand='yes', fill='both')

1 个答案:

答案 0 :(得分:0)

__init__需要缩进其代码,并且需要调用mainscreenmainFramemainscreen为本地的解决方案是将其作为属性。

self.mainframe = mainFrame = Frame(self.root)

然后,您可以访问self.mainframe中的signup