2 回答

TA贡献1827条经验 获得超8个赞
我会在创建所有项目时将其分配给一个列表,这样很容易迭代,比如self.controls
什么的。
type
如果您只想对列表中的某些控件执行某些操作,则可以使用 python 的函数来获取对象的类型名称。
否则您可能会使用dir(self)
orself.__dict__
来迭代所有成员,然后您将不得不进行类型检查。

TA贡献1798条经验 获得超7个赞
要详细说明@jnnnnn,答案get_boxes将如下所示:
def get_boxes(self):
return [a for a in self.__dict__ if isinstance(a, Box)]
或者更好的是设置如下:
用户界面类():
def __init__(self):
self.boxes = []
self.__setupui()
def __setupui(self):
Ghi = Box()
Ghi.name = 'Ghi'
Ghi.status = 'yes'
self.boxes.append(Ghi)
Dni = Box()
Dni.name = 'Dni'
self.boxes.append(Dni)
self.tab = Tab()
self.tab.name = 'tab1'
def get_boxes(self):
return self.boxes
添加回答
举报