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

沒有留言:

張貼留言

ChartGPT 學 python 很強喔

 ChartGPT 最近很紅 ,  前一陣子有一些小 module  本來想 google  一下 語法 但發現用 chartGPT 直接請他給 sample code 反而較快 所以只要你有基本 知識 ChartGPT 可以加速你的開發 好用喔