Задача: Строится табличка . На пересечении в таблице идет кнопка с указанием строки и столбца. Каждая кнопка должна запускать функцию, передавая как параметры строку и ряд в таблице.
Вариант с переопределением нажатия на клетку я рассматриваю как решение, но все же хотелось научиться и понять как работает передача параметров при нажатии на кнопку
последний вариант кода
def open_browser( acc, key):
print(f"want to open {acc}, {key}")
....
btn = QtWidgets.QPushButton(text=f"{i}/{j}")
tmp = lambda a =i, b =j: open_browser(a, b)
tmp()
btn.clicked.connect(tmp)
self.ui.tableWidget.setCellWidget(i, j, btn)
...
работает нормально при инициализации(вызов tmp в коде), но первый параметр ломается при вызове через клик на кнопку
---
Если в функции используется параметры всегда необходимо либо добавить "пустой" первый парметр, либо приписать @QtCore.pyqtSlot() (что приводит к явному указанию "типа" функции)