QTableView lock QHeadView

本文介绍了一种使用C++ Qt框架调整TableView中特定列宽度的方法。通过设置第三列(索引为3)为拉伸模式,并对其它列按内容自动调整大小,确保了表格视图在显示数据时具有良好的可读性和布局美观。
for (int i = 0; i<8; i++)
    {
        if (i == 3)
        {
            ui.tableView->horizontalHeader()->setResizeMode(i,QHeaderView::Stretch);

        }
        ui.tableView->resizeColumnToContents(i);
    }*/
在Qt中,`QHeaderView` 默认是位于 `QTableView` 的顶部(水平表头)或左侧(垂直表头)。若要将 `QHeaderView` 放置在 `QTableView` 的底部,可通过自定义布局和隐藏默认表头,再手动将 `QHeaderView` 放置在所需位置来实现。 以下是一个示例代码: ```python import sys from PyQt5.QtWidgets import QApplication, QTableView, QHeaderView, QVBoxLayout, QWidget from PyQt5.QtCore import Qt from PyQt5.QtGui import QStandardItemModel app = QApplication(sys.argv) # 创建主窗口 window = QWidget() # 创建表格视图 table_view = QTableView() model = QStandardItemModel(10, 5) table_view.setModel(model) # 隐藏默认的水平表头 horizontal_header = table_view.horizontalHeader() table_view.setHorizontalHeader(None) # 创建新的水平表头 new_horizontal_header = QHeaderView(Qt.Horizontal, table_view) new_horizontal_header.setModel(model) # 创建布局 layout = QVBoxLayout() layout.addWidget(table_view) layout.addWidget(new_horizontal_header) # 设置布局到主窗口 window.setLayout(layout) # 显示主窗口 window.show() sys.exit(app.exec_()) ``` 在这个示例中,首先创建了一个 `QTableView` 并设置了一个 `QStandardItemModel` 作为数据模型。接着隐藏了默认的水平表头,然后创建了一个新的 `QHeaderView` 并将其模型设置为与 `QTableView` 相同的模型。最后,使用 `QVBoxLayout` 将 `QTableView` 和新的 `QHeaderView` 依次添加到布局中,这样新的 `QHeaderView` 就会显示在 `QTableView` 的底部。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值