Python方法只需1个参数(给定2个)

时间:2015-03-24 20:38:03

标签: python

我看到之前曾提出类似问题的地方,但我不知道如何将其应用于我的情况。这是python代码:

def __init__(self):
    print("running")
    #set the glade file
    self.gladefile = "/home/crokett/Data/Projects/Glade/MultiTerm.glade"
    print("Gladefile is: self.gladefile")
    #self.wTree = gtk.glade.XML(self.gladefile)
    #try gtk file
    builder = gtk.Builder()
    builder.add_from_file(self.gladefile)
    builder.connect_signals(self)

    #Get the Main Window, and connect the "destroy" event
    self.window = builder.get_object("mainWindow")
    if (self.window):
       print("Found main window")
       self.window.connect("destroy", gtk.main_quit)
       self.window.show()

def on_loadButton_clicked(self):
     self.filechooser=builder.get_object("fileChooser")
     self.filechooser.show()

使用上面的代码,我收到错误消息

TypeError: on_loadButton_clicked(self) takes exactly 1 argument (2 given)

我最初将on_LoadButton_Clicked定义为:

  on_loadButton_clicked() 

但是我收到了错误消息:

 TypeError: on_loadButton_clicked) takes exactly 0 argument (2 given)

如果需要,我可以发布XML。 on_loadButton_Clicked方法应该打开一个文件选择器对话框

我看到帖子说我需要用(self)定义方法,但我不确定其他参数是什么。

1 个答案:

答案 0 :(得分:1)

根据很少的搜索,我已经了解到on_loadButton_clicked应该采取两个论点。第一个是self,第二个是小部件。只需在函数中添加第二个参数,就有可能实际上无法使用它。