QTableView通过setColumnWidth设置了列宽无效的问题

发布于:2023-09-14 ⋅ 阅读:(165) ⋅ 点赞:(0)

在用到QT的QTableView时,为了显示效果,向手动的设置每一列的宽度,但是如下的代码是无效的。

	ui->tableView->setColumnWidth(0,150);
    ui->tableView->setColumnWidth(1,150);
    ui->tableView->setColumnWidth(2,150);
    ui->tableView->setColumnWidth(3,150);
    MyTableModel* model = new MyTableModel(this);
    model->setInfos(fileRecords);
    MySortFilterProxyModel* proxyModel =  new MySortFilterProxyModel(this);
    proxyModel->setSourceModel(model);
    ui->tableView->setModel(proxyModel);

效果:

在这里插入图片描述

而将模型设置给表格视图之后,再设置tableveiw的列宽就有效果了。

    MyTableModel* model = new MyTableModel(this);
    model->setInfos(fileRecords);
    MySortFilterProxyModel* proxyModel =  new MySortFilterProxyModel(this);
    proxyModel->setSourceModel(model);
    ui->tableView->setModel(proxyModel);
    ui->tableView->setColumnWidth(0,150);
    ui->tableView->setColumnWidth(1,150);
    ui->tableView->setColumnWidth(2,150);
    ui->tableView->setColumnWidth(3,150);

效果

在这里插入图片描述

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到