====== 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|参考教程]]