QTabWidget的选项卡宽度默认是按照字符的宽度计算的,有时候需要自动拉伸填充整个tabbar,使得更美观,QTabWidget控件本身不带这个属性设置或者方法控制的,需要自行计算,比如在窗体显示的时候自动计算QTabWidget的整体宽度,除以tab的数量就是每个tab选项卡的宽度,然后对应设置样式表即可。也可以继承QTabWidget写个类专门做这个事情。

void MainWindow::showEvent(QShowEvent *)
{
int width = ui->tabWidget->width();
int tabCount = ui->tabWidget->count();
int tabWidth = width / tabCount;
this->setStyleSheet(QString("QTabBar::tab{width:%1px;}").arg(tabWidth));
}