我为基本问题道歉,但我认为语法或整体概念存在一些问题。我遇到的问题是,当我在下面的类中调用方法时,解释器要我输入一个我认为不会发生的自我参数的值。我想要做的是创建一个对象来同时保存几个tkinter小部件,这样我就可以在组中动态地添加或减去它们而不是一次一个。非常感谢任何帮助,谢谢!
class User(object):
#Input a UI row number and this will generate a corresponding row of widgets
def generateLine(self, rowNumber):
self.NameVar = StringVar()
self.ReasonVar = StringVar()
#ExcusedVar
self.Name_Cbox = ec.AutocompleteCombobox(content, textvariable = self.NameVar)
self.Name_Cbox.grid(row = rowNumber, column = 0)
self.Reason_Cbox = ec.AutocompleteCombobox(content, textvariable = self.ReasonVar)
self.Reason_Cbox.grid(row = rowNumber, column = 1)
答案 0 :(得分:3)
确保您的User
类的实例可以调用该方法:
user = User()
user.generateLine(0)
self
仅在方法绑定到实例时提供。
如果直接在类上调用该方法,则会出现异常:
>>> class User(object):
... def generateLine(self, row):
... print row
...
>>> User.generateLine(0)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unbound method generateLine() must be called with User instance as first argument (got int instance instead)
>>> User().generateLine(0)
0