Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python (PyQt5)创建QLineEdit的列表_Python_Qt_Pyqt_Qlineedit - Fatal编程技术网

Python (PyQt5)创建QLineEdit的列表

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

如何创建一个没有很多变量的行编辑器列表?(smth如
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())