Как получить индекс ячейки в QTableWidget?
Я создал виджет таблицы и добавил к нему контекстное меню. Когда я щелкаю правой кнопкой мыши по ячейке, я хочу получить каталог с файлами и поместить его в ячейку. Я получил каталог и передал его переменной, но мне не удалось отобразить его в ячейке, потому что я не могу получить индекс ячейки. Как получить индекс ячейки в QTableWidget? Есть ли другой способ выяснить этот вопрос? Я использую Python и PyQt5.
введите описание изображения здесь
@pyqtSlot()
def on_actionAddFolder_triggered(self):
# TODO: Open filedialog and get directory
filedir = str(QFileDialog.getExistingDirectory(self, "Select Directory"))
return filedir
@pyqtSlot(QPoint)
def on_tableWidget_customContextMenuRequested(self, pos):
# TODO: get directory and display it in the cell
x = self.tableWidget.currentRow
y = self.tableWidget.currentColumn
RightClickMenu = QMenu()
AddFolder = RightClickMenu.addAction('Add Folder')
FolderAction = RightClickMenu.exec_(self.tableWidget.mapToGlobal(pos))
if FolderAction == AddFolder:
NewItem = QTableWidgetItem(self.on_actionAddFolder_triggered())
self.tableWidget.setItem(x,y, NewItem)
1 ответ
Решение
Хахаха, я нахожу ошибку!
x = self.tableWidget.currentRow
y = self.tableWidget.currentColumn
заменить эти две строки
x = self.tableWidget.currentRow()
y = self.tableWidget.currentColumn()
тогда это работает.