PyQt5中QTableView函数讲解
如果想熟悉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