我的應(yīng)用程序中有一堆屏幕,它們都具有相同的圖標(biāo),我總是想一起更改這些圖標(biāo)。因此,我目前對其進(jìn)行了硬編碼,每次添加新屏幕時(shí),我都必須添加新行,這變得很麻煩:self.tcs_screen.ids.statusicon.source = "/imgs/..."self.eclss_screen.ids.statusicon.source = "/imgs/..."self.gnc_screen.ids.statusicon.source = "/imgs/..."...是否可以從屏幕列表的循環(huán)中執(zhí)行此操作?我一直在嘗試以下但沒有成功(如何將變量插入到屬性賦值中?):ScreenList = ['tcs_screen', 'eclss_screen', 'gnc_screen']for x in xrange(len(ScreenList)): self.ScreenList[x].ids.statusicon.source = "/imgs/..."或者有沒有更好的方法來實(shí)現(xiàn)這一點(diǎn)?
1 回答

萬千封印
TA貢獻(xiàn)1891條經(jīng)驗(yàn) 獲得超3個(gè)贊
您必須使用名稱getattr()來獲取屬性。
screen_list = ['tcs_screen', 'eclss_screen', 'gnc_screen']
for e in screen_list:
getattr(self, e).ids.statusicon.source = "/imgs/..."
添加回答
舉報(bào)
0/150
提交
取消