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)))

沒有留言:

張貼留言

Bloomberg Markets Wrap 2025-08-15: 股市因美國數據下漲,川普與普丁會議獲關注

 Bloomberg Markets Wrap 2025-08-15: 股市因美國數據下滑,川普與普丁會談受關注 發佈日期:2025-08-15 本篇文章翻譯與整理自 Bloomberg Markets Wrap(經 SWI swissin fo.ch 彙整),該報111導回顧了...