@Baizel

Можно ли узнать, какой элемент вызвал сигнал textChanged?

Есть несколько ячеек, с которыми нужно взаимодействовать одинаково. Например, ввести значение в определенном диапазоне, если ввел вне диапазона над нужной ячейкой производится какое-либо действие. Как в коде, чтобы on_text_changedE сама выбирала ячейку, а не прописывать для каждой отдельно. Есть возможность такое сделать?
self.ui.lineEditE1max.textChanged.connect(self.on_text_changedE)
self.ui.lineEditE1min.textChanged.connect(self.on_text_changedE)

def on_text_changedE(self, text):
        if text == "":
            pass
        elif text == "0":
            pass
        elif float(text.replace(',', '.')) < 0.9 or float(text.replace(',', '.')) > 1.5:
            self.ui.lineEditE1max.setModified(False)
            self.ui.pushButton.setEnabled(False)
            QtWidgets.QToolTip.showText(QtGui.QCursor.pos(),"Введите значение от 0.9 до 1.5", self.ui.lineEditE1max)
  • Вопрос задан
  • 49 просмотров
Решения вопроса 1
@bbkmzzzz
в обработчике вызывайте sender() основного класса, он возвращает объект, который испустил сигнал
def on_text_changedE(self, text):
        widget = self.sender()  # <- вот то, что испустило сигнал
        if text == "":
            pass
        elif text == "0":
            pass
        elif float(text.replace(',', '.')) < 0.9 or float(text.replace(',', '.')) > 1.5:
            self.ui.lineEditE1max.setModified(False)
            self.ui.pushButton.setEnabled(False)
            QtWidgets.QToolTip.showText(QtGui.QCursor.pos(),"Введите значение от 0.9 до 1.5", self.ui.lineEditE1max)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Protoplan Краснодар
от 80 000 до 150 000 руб.
YLab Тольятти
от 90 000 до 150 000 руб.
18 июл. 2019, в 10:42
150000 руб./за проект
18 июл. 2019, в 10:14
300 руб./за проект
18 июл. 2019, в 09:39
5000 руб./за проект