QTableWidget表格部件的表頭包括水平表頭和豎直表頭,水平表頭每節對應表格的一列,豎直表頭對應表格的一行。如圖:
上圖中的“行”+編號的項就是豎直表頭的一個項(也稱為1節),“列”+編號的項就是水平表頭的一個項(節)。
1、設置水平表頭的setHorizontalHeaderLabels方法
setHorizontalHeaderLabels用於一次性順序設置水平表頭多個節顯示的文本,調用語法如下:
setHorizontalHeaderLabels( Iterable[str] labels)
注意:
- 該方法無返回值
- 該方法設置的多個節是按第0節開始的邏輯順序設置,不論中間是否出現隱藏節或交換節或者是否已設置標簽
- 如果標簽列表超出實際表頭節數將忽略多出的,前面的按給定順序設置
- 如果標簽列表少於實際表頭節數也能設置前面對應節數的標簽
- 設置了標簽的節自動會創建該節對應的項
2、設置豎直表頭的setVerticalHeaderLabels
setVerticalHeaderLabels用於一次性順序設置豎直表頭多個節顯示的文本,調用語法如下:
setVerticalHeaderLabels( Iterable[str] labels)
其他的方面與setHorizontalHeaderLabels方法相同。
3、訪問水平節對應項
前面介紹了,表頭的一個節實際上對應一個項,項的類型與表格部件的項類型相同,都是QTableWidgetItem實例對象。水平節對應項可以通過方法horizontalHeaderItem和setHorizontalHeaderItem方法訪問,調用語法如下:
- QTableWidgetItem horizontalHeaderItem(int column)
- setHorizontalHeaderItem(int column, QTableWidgetItem item)
注:
- column參數對應水平表頭節的序號,從0開始,其數值必須小於表格部件的總列數,否則設置調用無效,查詢返回None;
- 調用setHorizontalHeaderItem將替換原有節對應的項,標簽顯示為項的文本;
- 如果一個節沒有設置標簽也沒有通過setHorizontalHeaderItem設置項,則對應表頭節沒有對應項。
4、訪問豎直節對應項
類似setHorizontalHeaderItem,QTableWidget提供了verticalHeaderItem、setVerticalHeaderItem方法,調用語法如下:
- QTableWidgetItem verticalHeaderItem(int row)
- setVerticalHeaderItem(int row, QTableWidgetItem item)
相關方法使用與訪問水平節類似,在此不重復說明。
5、從表頭節中取下節對應項
QTableWidget可以取下表頭節對應項並返回,相關方法如下:
- QTableWidgetItem takeHorizontalHeaderItem(int column)
- QTableWidgetItem takeVerticalHeaderItem(int row)
對應節的項被取下后,表頭對應節的標簽將自動變更為節的序號。
6、表頭屬性相關訪問方法
在Designer中,QTableWidget有如下表頭屬性可以設置:
相關屬性是從QTableView繼承過來的,相關訪問方法請參考《PyQt(Python+Qt)學習隨筆:QTableView的標題表頭相關屬性》。