Как использовать QSignalMapper для нескольких QLineEdits?
У меня есть около 20 QLineEdits в конкретном окне приложения.
Я хочу, чтобы содержимое QLineEdit было очищено, как только я нажму на него.
Для пары QLIneEdits я использую лямбда-функцию ниже.
self.StudentName.mousePressEvent = lambda event : self.StudentName.clear()
Я не уверен, как реализовать QSignalMapper для этой цели, так как у меня есть около 20 QLineEdits. Может кто-нибудь, пожалуйста, кратко объясните QSignalMapper.
Придется ли мне создавать массив всех СИГНАЛОВ QLineEdit, а затем сопоставить его со СЛОТОМ QSignalMapper. Пожалуйста, предложите.
1 ответ
Насколько я вижу, QSignalMapper предназначен для решения обратной задачи или сбора и сопоставления сигналов с нескольких входов.
Самый простой способ установить несколько событий на простое поведение - сделать это на чистом py thon:
for edit in LineEdits:
edit.mousePressEvent = lambda event : edit.clear()
где LineEdits - ваш список виджетов.