【发布时间】:2011-11-17 22:12:38
【问题描述】:
PyQt 中有什么方法可以获取所有 QLineEdit 对象的集合吗?
我正在尝试添加一个重置按钮,该按钮将清除表单上所有 QLineEdit 中的所有文本,因此我正在寻找一种方法来循环遍历所有 QLineEdit 对象,而不是在我的重置函数中将它们全部列出这将连接到重置按钮。
谢谢。
【问题讨论】:
-
为什么不首先将它们存储在
dict或list中? -
我可能会,但这最终会产生列出所有这些的工作和将它们全部列出的脆弱性(然后,如果我重命名、删除或添加,我还有一个地方可以更新一个字段)。以编程方式获取列表应该会生成更短、更易于维护的代码。
-
实际上我是在谈论使用字典而不是变量,而不是除了变量之外的字典。更像
self.edits["some_name"] = QtGui.QLineEdit()而不是self.some_name = QtGui.QLineEdit()。如果有的话,这应该在逻辑上引入很少的变化。 -
啊,这更有意义,如果我手动编写所有的 GUI,这可能是一个好方法,但我使用 QT Designer 来完成大部分的 GUI 设计和然后做一些小的微调并手动放入实际的程序逻辑。