Tkinter:如何从另一个类方法调用Button?

时间:2014-10-15 19:42:21

标签: python function button tkinter call

class Something:
    def buttons( self ):
        self.button1 = Button( self.main, text = "Add User", command = x )

    def Window( self ):
        self.main    = Tk() 
        self.main.title( "Welcome" )
        self.buttons.button1.grid( row        = 0,
                                   column     = 0,
                                   columnspan = 2,
                                   rowspan    = 2, pady = 5, padx = 5 )
        self.main.mainloop()

在这里,我希望从 self.buttons 开始的这行代码通过类方法(函数)调用 .Button() .buttons() ,并显示它。

显然这段代码不起作用,但我想知道是否有任何方法/更好的方法来做到这一点。任何帮助将不胜感激,谢谢。

1 个答案:

答案 0 :(得分:0)

我不认为我理解你要做的事情,所以我会尽可能地回答你的问题。

考虑以下代码:

def buttons(self):
    self.button1 = Button(self.main, text="Add User", command=x)

当您致电self.buttons()时,它会创建一个名为self.button1的变量,不是 self.buttons.button1。因此,如果您想从self.button1内访问Window,首先需要调用buttons函数,然后使用self.button1,如下所示:

def Window(self):
    ...
    self.buttons() 
    self.button1.grid(row = 0, column = 0, columnspan=2,rowspan=2,pady=5,padx=5)
    ...