[英]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.