我在特定的应用程序窗口中有大约20个QLineEdits。
我希望点击它后立即清除QLineEdit的内容。
对于几个QLIneEdits,我使用下面的lambda函数。
self.StudentName.mousePressEvent = lambda event : self.StudentName.clear()
我不知道如何为此目的实现QSignalMapper,因为我有大约20个QLineEdits。 有人可以请简要解释一下QSignalMapper。
我是否必须创建所有QLineEdit SIGNAL的数组,然后将其映射到QSignalMapper SLOT。 请建议。
答案 0 :(得分:1)
据我所知,QSignalMapper用于反向问题,或收集和整理来自多个输入的信号。
将多个事件设置为简单行为的最简单方法是在纯python中执行:
for edit in LineEdits:
edit.mousePressEvent = lambda event : edit.clear()
其中LineEdits是您的小部件列表。