有没有一种很好的方法可以把它变成一个 for 循环?

时间:2021-01-19 19:10:14

标签: python python-3.x pyqt5

我想知道是否有办法将其转换为 for 循环以使其看起来更好。

print(self.User_Edit_1.text())
print(self.User_Edit_2.text())
print(self.User_Edit_3.text())
print(self.User_Edit_4.text())
print(self.User_Edit_5.text())
print(self.User_Edit_6.text())
print(self.User_Edit_7.text())

我希望它看起来像这样:

for i in range(1,8):
    print(self.User_Edit_{i}.text())

我尝试过使用 f 字符串,但它不允许嵌套变量,我不认为,我可以将其转换为字符串,更改索引,然后将其更改回那种对象,但我不这样做知道怎么做。

对象的类是PyQt5.QtWidgets.QLineEdit,我在做一个GUI。

在相关说明中,他们目前是否有关于 PyQT5 的教程,我所看到的教程来自 2015 年的 pyqt4,它们不再起作用,而且文档使用起来似乎相当混乱(我尝试过)

1 个答案:

答案 0 :(得分:0)

您可以将要迭代的项目放入某种集合(例如列表)中:

user_list = [self.User_Edit_1, self.User_Edit_2, self.User_Edit_3, self.User_Edit_4, self.User_Edit_5, self.User_Edit_6, self.User_Edit_7]

for user in user_list:
    print(user.text())