Python 2.7 PySide:如何通过单击按钮来清理“QLineEdit”字段?

Python 2.7 PySide:如何通过单击按钮来清理“QLineEdit”字段?,python-2.7,pyside,grid-layout,qlineedit,Python 2.7,Pyside,Grid Layout,Qlineedit,我正在尝试用PySide制作一个简单的应用程序。我有一个网格布局,其中一些单元格是QLineEditwidgets。我想通过单击按钮清除其中4个的文本字段。以下是我代码的一部分: editFields = [angle1Edit, angle2Edit, len1Edit, len2Edit] clearBtn.clicked.connect(self.clearAll(editFields)) def clearAll(self, fields): for field in fie

我正在尝试用PySide制作一个简单的应用程序。我有一个网格布局,其中一些单元格是
QLineEdit
widgets。我想通过单击按钮清除其中4个的文本字段。以下是我代码的一部分:

editFields = [angle1Edit, angle2Edit, len1Edit, len2Edit]

clearBtn.clicked.connect(self.clearAll(editFields))

def clearAll(self, fields):
    for field in fields:
        return field.clear
editFields
中,我收集了我想要清理的4个小部件。但这只清除了第一个,而不是全部


我怎样才能做到这一点呢?是否还有其他可能采取此类行动?也许我可以使用其他小部件来完成此任务?谢谢。

首先,我认为您需要as
字段。clear
将只提供clear函数。其次,
QLineEdit.clear()
不会返回任何内容,因此只需:

for field in fields:
    field.clear()
是需要的,而不是

for field in fields:
    return field.clear()
最后是导致问题的参数,它可能会强制它获取
editFields[false]
字段,也就是第一个
editFields[0]
字段

总之,我要让editFields属于保存字段和按钮的内容,然后尝试一下,看看它是否提供了所需的结果:

self.editFields = [angle1Edit, angle2Edit, len1Edit, len2Edit]

clearBtn.clicked.connect(self.clearAll)

def clearAll(self, checked=False):
    for field in self.editFields:
        field.clear()

谢谢你的回复。它给我一个错误
对象没有属性“editFields”
。您还有其他想法吗?
编辑字段中的字段:clearBtn.clicked.connect(field.clear)