簡體   English   中英

如何從 QTableWidget 項中獲取選定的標題標簽?

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM