====== 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;};")
[[https://build-system.fman.io/pyqt5-tutorial|参考教程]]