如何从QTableWidget项获取选定的标题标签?

2024-09-29 21:38:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个QTableWidget项目。我用pandasDataFrame数据填充此项。我必须将所选列值打印为报告。我可以很容易地从DataFrame打印数据。但是,我需要知道verticalHeaderQTableWidget)标签才能从“DataFrame”获取数据。如何从QTableWidget获取选定的标题标签

我尝试了QTableWidget.selectionModel().selectedIndexes()QTableWidget.itemFromIndex()方法。我只能获取表中的项目,而不能获取标题标签

这是我的桌子。我可以在“产品编号”、“产品选项”和“标价(美元)”标题下获取项目,但我无法获取这些标题


Tags: 数据项目方法标题dataframe报告标签桌子
1条回答
网友
1楼 · 发布于 2024-09-29 21:38:46

可以对表的当前行使用QTableWidget.verticalHeaderItem()。如果所选单元格都在同一行中,则可以执行此操作(table指QTableWidget)

row = table.currentRow()
label = table.verticalHeaderItem(row).text()

或者,如果在多行上选择了单元格:

rows = set(cell.row() for cell in table.selectedIndexes()) # set to remove duplicates, otherwise use a list
labels = [table.verticalHeaderItem(r).text() for r in rows]

如果行不包含垂直标题项,请仅在检查返回的项是否为None后使用text()方法

headers = [table.verticalHeaderItem(r) for r in rows]
labels = [x.text() for x in headers if x is not None]

编辑:这些是水平标题项,而不是垂直标题项。在这种情况下,改用table.horizontalHeaderItem()并获取单元格列

相关问题 更多 >

    热门问题