Как получить индекс ячейки в 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()

тогда это работает.

Другие вопросы по тегам