get paid

Get paid for the tasks you do online

2020年11月3日 星期二

getattr 呼叫 pyqt 物件

 最今一個小專案,  會需要設定 QLineText , 但因有不少QLineText 物件

而物件每個名稱都只差最後一碼 如 line1 , line2 .... 等

如果是一個個 寫真的很笨 , code 也很長 

每次要做修改 code 會瘋掉 

當然可以用 List 把所有 QLineText 放進去, 但一個個 讀出來 

但 一多就有問題了 


如果要在同一個 class 內使用 , 前面要加 self.   

這時此時可以用 getattr ,  

先將 line{}.format{I} 取出 object 名稱

再用 getattr (self ,"line{}.format{I}).setText(i)

此時就可以變成一個物件來使用

sample code 如下 

for i in range(1, 100):
getattr(self, "ipLine{}".format(i)).setText(i)
print(getattr(self, "ipLine{}".format(i)))

沒有留言:

張貼留言

Ether.FI 神卡 https://www.ether.fi/@46933474

 Ether.FI 真的是神卡 有買US Amazon  或穩定幣的很適合辦一張 我的推薦碼 https://www.ether.fi/@46933474