【PyQt5 學習記錄】009:批量創建組件並查找


這里需要在創建組件時使用 setObjectName() 為其添加 objectName 屬性,再通過 findChild() 或者 findChildren() 函數來查找。

舉個栗子,批量創建10個 LineEdit 並為其設置 name :

1 # 批量創建十個 LineEdit :
2 for i in range(10):
3 line = QLineEdit()
4 # 為每個 LineEdit 命名:
5 line.setObjectName(u'line_' + str(i))
6 grid.addWidget(line, i, 0)

可以通過 findChild(QLineEdit, "line_1") 來獲得其中一個進行操作。

1 # 為每個 LineEdit 設置文本:
2 for i in range(10):
3 # 通過 objectName 查找具體的某個 LineEdit :
4 self.findChild(QLineEdit, u'line_'+str(i)).setText('No.' + str(i+1) + u' QLineEdit')

效果如下:

也可以通過 findChildren(QLineEdit) 來獲得當前程序里的所有 LineEdit :

1 print(self.findChildren(QLineEdit))

顯示為:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM