[英]How to get selected header label from QTableWidget item?
我有一个QTableWidget
项目。 我用DataFrame
数据填充了这个项目。 我必须将选定的列值打印为报告。 我可以轻松地从 DataFrame 打印数据。 但是,我需要知道verticalHeader
( QTableWidget
) 标签才能从“DataFrame”获取数据。 如何从QTableWidget
获取选定的标题标签?
我尝试了QTableWidget.selectionModel().selectedIndexes()
和QTableWidget.itemFromIndex()
方法。 我只能获取表格内的项目而不是标题标签。
这是我的桌子。 我可以在“产品编号”、“产品选项”和“标价(美元)”标题下获取项目,但我无法获取这些标题。
您可以将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()
并获取单元格列。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.