PyQt5 QTableView 全部item居中

核心思路是重写QSqlTableModel的data函数

class MyModel(QSqlTableModel):
    def __init__(self):
        QSqlTableModel.__init__(self)

    def data(self, index, role=None):
        if role == Qt.TextAlignmentRole:
            return Qt.AlignCenter
        return QSqlTableModel.data(self, index, role)

在主函数中setModel

        # 视图加载模型
        self.myTableView.setModel(self.model)
  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
PyQt5中,可以使用QTableView来显示表格数据,并通过设置表头来定义列名。下面是一个示例代码,演示如何设置QTableView的表头: ```python from PyQt5.QtWidgets import QApplication, QTableView, QVBoxLayout, QWidget from PyQt5.QtCore import Qt from PyQt5.QtGui import QStandardItemModel, QStandardItem app = QApplication([]) window = QWidget() # 创建一个QTableView和一个数据模型 table_view = QTableView() model = QStandardItemModel() # 设置表头 header_labels = ['列1', '列2', '列3'] model.setHorizontalHeaderLabels(header_labels) # 添加数据到模型 data = [['数据1', '数据2', '数据3'], ['数据4', '数据5', '数据6'], ['数据7', '数据8', '数据9']] for row in range(len(data)): for col in range(len(data[row])): item = QStandardItem(data[row][col]) model.setItem(row, col, item) # 将模型设置给QTableView table_view.setModel(model) # 设置表头可点击排序 table_view.setSortingEnabled(True) # 设置表头自适应内容 table_view.horizontalHeader().setSectionResizeMode(QTableView.ResizeToContents) # 设置表头不可编辑 table_view.setEditTriggers(QTableView.NoEditTriggers) # 设置表头居中对齐 table_view.horizontalHeader().setDefaultAlignment(Qt.AlignCenter) # 创建一个垂直布局,并将QTableView添加到布局中 layout = QVBoxLayout() layout.addWidget(table_view) # 将布局设置给窗口 window.setLayout(layout) window.show() app.exec_() ``` 这段代码创建了一个带有表头的QTableView,并设置了表头的一些属性,如可排序、自适应内容、不可编辑和居中对齐。你可以根据自己的需求修改表头的内容和属性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值