QTabWidget的高度取决于当前选项卡的高度

QTabWidget的高度自适应当前选项卡的高度,可以通过设置其他选项卡的QSizePolicy为Ignored,

connect(ui->tabWidget,SIGNAL(currentChanged(int)),this, SLOT(updateSizes(int)));
void MainWindow::updateSizes(int index)
{
    for(int i=0;i<ui->tabWidget->count();i++)
    {
        if(i!=index)
        {
            ui->tabWidget->widget(i)->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored);
        }
    }

    ui->tabWidget->widget(index)->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred);
    ui->tabWidget->widget(index)->resize(ui->tabWidget->widget(index)->minimumSizeHint());
    ui->tabWidget->widget(index)->adjustSize();
}

 

posted @ 2024-03-02 16:31  上位机  阅读(77)  评论(0编辑  收藏  举报