如何在 QTableWidget 中获取单元格的索引?

Posted

技术标签:

【中文标题】如何在 QTableWidget 中获取单元格的索引?【英文标题】:How to get index of a cell in QTableWidget? 【发布时间】:2016-09-01 02:19:19 【问题描述】:

我创建了一个表格小部件并向其添加了一个上下文菜单。当我右键单击单元格时,我想获取一个文件目录并将其放入单元格中。我有目录并将其传递给变量,但我未能在单元格中显示它,因为我无法获取单元格的索引。有没有其他方法可以弄清楚这个问题?我正在使用 Python 和 PyQt5。

enter image description here

@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()

然后就可以了。

【讨论】:

以上是关于如何在 QTableWidget 中获取单元格的索引?的主要内容,如果未能解决你的问题,请参考以下文章

转到 QTableWidget 上可视单元格的位置

如何在pyqt中更改Qtablewidget的特定单元格背景颜色

QTableWidget 在调整内容时尊重跨度

表格未聚焦时如何设置QTableWidget单元格背景颜色?

如何验证 QTableWidget 中的单元格?

如何将文本与 QTableWidget 中的单元格中心对齐