用户工具

站点工具


qtable

QTableWidget设置列宽大小的几种方式

手动调整

self.tableWidget.horizontalHeader().setSectionResizeMode(QHeaderView.Interactive)

列宽自动分配

self.tableWidget.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)

固定值

self.tableWidget.horizontalHeader().setSectionResizeMode(QHeaderView.Fixed)

self.tableWidget.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch) self.tableWidget.horizontalHeader().setSectionResizeMode(0, QHeaderView.ResizeToContents)#第一列自动设置列宽

self.tableWidget.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch) self.tableWidget.horizontalHeader().setSectionResizeMode(0, QHeaderView.Interactive)

表头的操作

1.设置表头的字体

font = self.tableview.horizontalHeader().font() # 获取当前表头的字体 font.setFamily(“微软雅黑”) # 修改字体设置 self.tableview.horizontalHeader().setFont(font) # 重新设置表头的字体

2.设置表头不可见

self.tableview.verticalHeader().setVisible(False) self.tableview.horizontalHeader().setVisible(False)

3.设置表头不可被点击

self.tableview.horizontalHeader().setSectionsClickable(False) self.tableview.verticalHeader().setSectionsClickable(False)

4.设置表头背景色

self.tableview.horizontalHeader().setStyleSheet(“QHeaderView::section{background:red;}”)

5.设置表头高度

self.tableview.horizontalHeader().setFixedHeight(40)

6.拖动表头移动行列

self.table_view.horizontalHeader().setSectionsMovable(True); self.table_view.horizontalHeader().setDragEnabled(True); self.table_view.horizontalHeader().setDragDropMode(QAbstractItemView.InternalMove)

表格的操作

1.设置行列填满窗口

self.tableview.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch) self.tableview.verticalHeader().setSectionResizeMode(QHeaderView.Stretch)

2.设置内容与表格相匹配(当设置填满窗口时 就不可以拉伸表头)

self.tableview.resizeColumnsToContents() self.tableview.resizeRowsToContents()

3.当一个单元格的内容很长时 通过设置表头来显示完整的单元格内容

self.tableview.horizontalHeader().setSectionResizeMode(QHeaderView.ResizeToContents)

4.设置单元格的选中模式(QAbstractItemView有五种选中模式)

self.tableview.setSelectionMode(QAbstractItemView.SingleSelection)

5.禁止编辑(QAbstractItemView有七种编辑模式)

self.tableview.setEditTriggers(QAbstractItemView.NoEditTriggers)

6.设置选中背景色

self.tableview.setStyleSheet(“selection-background-color:lightblue;”)

7.滚动条的打开关闭

self.tableview.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOn) self.tableview.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff)

获得单元格的内容

self..tableview.model().index(0, 1).data())

self.tableWidget = QtWidgets.QTableWidget(widget) self.tableWidget.setGeometry(QtCore.QRect(10, 130, 701, 192)) self.tableWidget.setObjectName(“tableWidget”) self.tableWidget.setColumnCount(4) self.tableWidget.setRowCount(3) item = QtWidgets.QTableWidgetItem() self.tableWidget.setVerticalHeaderItem(0, item) item = QtWidgets.QTableWidgetItem() self.tableWidget.setVerticalHeaderItem(1, item) item = QtWidgets.QTableWidgetItem() self.tableWidget.setVerticalHeaderItem(2, item)

设置背景图片

def paintEvent(self, event):# set background_img
				painter = QPainter(self)
				painter.drawRect(self.rect())
				pixmap = QPixmap("./img/1.jpg")#换成自己的图片的相对路径
				painter.drawPixmap(self.rect(), pixmap)

表头字体大小、字体颜色、背景颜色设置

QTableWidget
newItem = QTableWidgetItem("内容")
# 居中显示
newItem.setTextAlignment(Qt.AlignHCenter | Qt.AlignVCenter)
 
 
self.account_statement_table.horizontalHeader().setStyleSheet(
			"QHeaderView::section{background-color:rgb(155, 194, 230);font:11pt '宋体';color: black;};")

参考教程

qtable.txt · 最后更改: 2021/09/30 11:00 由 admin