首先要设置tableview大小随窗口大小改变而改变,通过ui文件的布局可进行设置
代码
小窗口图
大窗口图
MainWindow.h
private slots:
void on_pushButton_clicked();
protected:
void resizeEvent(QResizeEvent *event);
MainWindow.cpp
//窗口大小发生改变
void MainWindow::resizeEvent(QResizeEvent *event)
{
//列宽随窗口大小改变而改变,每列平均分配,充满整个表,但是此时列宽不能拖动进行改变
ui->tableView->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
//第四列和第五列适应内容长短分配大小(从0开始计数)
ui->tableView->horizontalHeader()->setSectionResizeMode(4,QHeaderView::ResizeToContents);
ui->tableView->horizontalHeader()->setSectionResizeMode(5,QHeaderView::ResizeToContents);
}
//tableview信号槽
void MainWindow::on_tableView_entered(const QModelIndex &index)
{
//设置列宽可拖动
ui->tableView->horizontalHeader()->setSectionResizeMode(QHeaderView::Interactive);
}