如果想熟悉QTableWidget,請參考PyQt5高級界面控件之QTableWidget(四)
setSpan(int, int, int, int)
四個參數分別代表,起始行,列,合並的行數,全並的列數,合並的內容為起始行列的內容,如setSpan(1,1,2,2),得到的現象如下:
clearSpans()
清除所有合並的單元格,如下圖:
經過clearSpans()后變成
columnAt(int x_coordinate)->int
x_coordinate為橫坐標位置,函數返回x_coordnate位置是第幾列,如columnAt(int 150),則返回1,如果x_coordinate超出了表的范圍,返回-1,代表無效列。類似的函數有rowAt(int y_coordinate)
columnCountChanged(int, int)
兩個參數分別代表先前的列數,新的列數
每當添加或刪除列時,都會調用此函數。以前的列數由oldCount指定,新的列數由newCount指定。
columnSpan(int row, int column)
返回在(row, column)單元所占的列數。如下圖columnSpan(1, 1)或者columnSpan(1, 2)都返回2
相似的函數有rowSpan(int row, int column)
columnViewportPosition(int column) -> int
返回column列所對應的坐標系的x值,如columnViewportPosition(1),則返回100
類似的函數有rowViewportPosition(int row)->int
columnWidth(int column)-> int
返回column列的寬度,如columnwidth(1),返回100.
類似的函數有rowHeight(int row), 設置列寬和行高的函數分別為setColumnWidth(int column, int width), setRowHeight(int row, int height)
hideColumn(int column)
隱藏所給的列
類似的函數有hideRow(int row),顯示行和列的函數分別為showRow(int row),showColumn(int column)
horizontalHeader()->QHeaderView
返回表的水平表頭
類似的函數有verticalHeader()->QHeaderView,設置水平表頭和垂直表頭的函數為setHorizontalHeader(QHeaderView header)和setVerticalHeader(QHeaderView header)
horizontalOffset()
此函數不理解
類似的函數有verticalOffset()
indexAt(const QPoint &pos)->QModelIndex
返回pos出的索引
isColumnHidden(int column),isRowHidden(int row)
返回bool值,表示列和行是否處於隱藏狀態
isIndexHidden(const QModelIndex &index)
判斷index索引值處是否處於隱藏狀態
resizeColumnToContents(int column) [slot] 根據內容自動調整某列的列寬
resizeColumnsToContents () [slot] 根據內容自動調整所有列的列寬
resizeRowToContents ( int row ) [slot] 根據內容自動調整某一行的行高
resizeRowsToContents () [slot] 根據內容自動調整所有行的行高
如下左圖,有時單元格不能完全顯示內容,通過resizeColumnsToContents ()后,變成如下右圖
如果通過以上函數不能解決顯示不全的問題,可參數文章QTableView根據內容自動調整大小(resizeColumnToContents解決不了的)
sortByColumn(int column, SortOrder order)
對column進行排序,排序方式由order指定, Qt.DescendingOrder降序,Qt.AscendingOrder升序
sizeHintForColumn(int column)->int 和sizeHintForRow(int row)-> int
兩個函數的意義不太理解
viewportSizeHint()->QSize
和以上兩個函數一個,不過是同時返回colum和row的大小
原文鏈接:https://blog.csdn.net/qq_34809033/java/article/details/89448860