Как сказал @regomodo, вы можете просто подключить свою функцию к двойному щелчку с помощью:
self.your_table.doubleClicked.connect(your_function)
Затем, если вы хотите узнать, в какой строке пользователь дважды щелкнул, вы можете использовать следующий код:
for idx in self.your_table.selectionModel().selectedIndexes():
row_number = idx.row()
column_number = idx.column()
Возвращает целое число, соответствующее строке или номеру столбца.
Всегда будет только одно значение, так как двойной щелчок удаляет предыдущий выбор.
Если вы связываете свою функцию с кнопкой или другим сигналом, вы можете получить список, содержащий несколько элементов, выбранных пользователем.
Например, вы можете легко получить список всех выбранных строк, используя этот код:
rows = []
for idx in self.your_table.selectionModel().selectedIndexes():
rows.append(idx.row())
rows = list(set(rows))
Это вернет список всех выбранных строк (функция set также удалит все дубликаты).
ура!