Использование параметров, передаваемых с сигналами по умолчанию в pyqt5

#qt #pyqt5 #signals-slots #qt-signals

#qt #pyqt5 #сигналы-слоты #qt-сигналы

Вопрос:

У меня есть QTableWidget, который позволяет изменять данные в таблице во время работы программы. Я хотел бы знать, в какой строке и столбце были изменены данные. Существует сигнал по умолчанию cellChanged (int row, int column), но я не знаю, как получить значения строк и столбцов в пользовательском слоте.

Есть ли способ сделать это?

Ответ №1:

Для тех, кому интересно, вам нужно подключить сигнал к слоту с помощью lambda. Например:

self.ui.TW.cellChanged.connect(лямбда-строка, столбец: on_cellChanged(строка, столбец))

Это передает значение, передаваемое signal в слот.

Комментарии:

1. Использование подобного лямбда-выражения не имеет большого смысла. Это бесполезно, так как это точно то же самое, что и делать self.ui.TW.cellChanged.connect(on_cellChanged) .