QT设置QTabWidget中的tabBar选项卡宽度自适应
想要设置QTabWidget中的选项卡根据窗口大小进行自适应宽度设置,但是QT没有自带这个函数。在查了网上的一下教程后,看到基本上都是先获取窗口的宽度和选项卡的数量,再用宽度除以数量进行选项卡的自适应。我在使用这个方法后,发现这个方法不太好用,会让选项卡的边框出现一些bug。于是和同学找到了另外一种简单方法。代码如下:
void MainWindow::resizeEvent(QResizeEvent *event)
{
Q_UNUSED(event);
//直接将tabBar的最小值设置为qtabwidget的最小值,就可以自适应tabBar的宽度。
int w = this->ui->tabWidget->width();
this->ui->tabWidget->tabBar()->setMinimumWidth(w);
}
通过获取窗口的宽度,再将选项卡的最小宽度设置为窗口的宽度,就可以实现选项卡的自适应。