我在一个特定的应用程序窗口上有大约20个QLineEdits。
我希望只要我单击QLineEdit,它的内容就会被清除。
对于几个QLIneEdits,我使用下面的lambda函数。
self.StudentName.mousePressEvent = lambda event : self.StudentName.clear()我不确定如何为此目的实现QSignalMapper,因为我有大约20个QLineEdits。有人能简要解释一下QSignalMapper吗。
我是否必须创建一个包含所有QLineEdit信号的数组,然后将其映射到QSignalMapper插槽。请提个建议。
发布于 2014-08-12 08:05:07
据我所知,QSignalMapper用于相反的问题,即从多个输入收集和整理信号。
将多个事件设置为一个简单行为的最简单方法是使用纯python:
for edit in LineEdits:
edit.mousePressEvent = lambda event : edit.clear()其中LineEdits是您的小部件列表。
https://stackoverflow.com/questions/25126597
复制相似问题