Python (PyQt5)创建QLineEdit的列表
如何创建一个没有很多变量的行编辑器列表?(smth如Python (PyQt5)创建QLineEdit的列表,python,qt,pyqt,qlineedit,Python,Qt,Pyqt,Qlineedit,如何创建一个没有很多变量的行编辑器列表?(smth如self.line_1=QLineEdit(self),self.line_2=QLineEdit(self),…,self.line_9000=QLineEdit(self)) 例如,我想创建这个 窗口,可以访问每个元素。 一个简单的循环不能访问每个元素,只能访问最后一个元素。我如何做到这一点?一种方法是按照您所说的制作小部件-循环, 您可以使用layout.itemAtPosition访问小部件 它是这样的: layout = QVBox
self.line_1=QLineEdit(self),self.line_2=QLineEdit(self),…,self.line_9000=QLineEdit(self)
)
例如,我想创建这个
窗口,可以访问每个元素。
一个简单的循环不能访问每个元素,只能访问最后一个元素。我如何做到这一点?一种方法是按照您所说的制作小部件-循环, 您可以使用layout.itemAtPosition访问小部件 它是这样的:
layout = QVBoxLayout()
for i in range(list_length):
line_edit = QLineEdit(self)
layout.addWidget(line_edit)
要访问小部件,请执行以下操作:
def access_widget(int):
item = layout.itemAtPosition(int)
line_edit = item.widget()
return line_edit
现在您可以访问指定的QLineEdit
layout = QFormLayout()
self.alphabet_line_edits = dict.fromkeys(['а', 'б', 'в', 'г'])
for letter in self.alphabet_line_edits:
line_edit = QLineEdit()
layout.addRow(letter, line_edit)
self.alphabet_line_edits[letter] = line_edit
def button_clicked(self):
print(self.alphabet_line_edit['б'].text())