有人能告诉我如何从User
类中的def test(self):
方法调用add_row
方法吗?
现在我正在使用callRows().add_row()
的代码。我在defadd_row(self):
中打印一些东西,然后它打印,但不在屏幕中添加小部件。你知道吗
class User(Popup):
def __init__(self, obj, **kwargs):
super(User, self).__init__(**kwargs)
def test(self):
Rows().add_row()
class narration(BoxLayout):
col_data = ListProperty(["?", "?", "?"])
button_text = StringProperty("")
def __init__(self, **kwargs):
super(narration, self).__init__(**kwargs)
class Rows(BoxLayout):
row_count = 0
def __init__(self, **kwargs):
super(Rows, self).__init__(**kwargs)
def add_row(self):
self.row_count += 1
self.add_widget(narration(button_text=str(self.row_count)))
我把你的代码改了一点,让你看看是怎么做的。你知道吗
在tmp.py公司你知道吗
为了使它工作,我不得不注释掉一些行。你知道吗
现在,在tmp2.py中
我们所做的是实例化用户类,例如:
class User(Rows):
,因此,当您调用User class时,使用适当的super()
语句,您将能够使用行的方法,就像在User class中定义的那样。你知道吗因此,您将调用(在代码中已修改):
self.add_row()
,即使add_row()
是行中的方法。你知道吗它不是一个工作代码,它只是一个例子,但你的方法应该是这样的那。如果您不希望传递“Rows”类的对象,而希望使用继承概念将“User”类作为“Rows”类的子类。你知道吗
相关问题 更多 >
编程相关推荐