在用到QT的QTableView时,为了显示效果,向手动的设置每一列的宽度,但是如下的代码是无效的。
cpp
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的列宽就有效果了。
cpp
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);