我目前有一个 QTabWidget 和一些布局。现在我希望我的 QtabWidget 的所有选项卡都占据 QtabWidget 的宽度,所以我有这样的东西。以下方法扩展了我的 Qtabwidget 中的两个选项卡,因此它们的大小与 QtabWidget 相同
void Contacts::AdjustTabs( int pos, int index )
{
std::string orig_sheet = ui.tabWidget->styleSheet().toStdString();
QString new_style = QString("QTabBar::tab { width: %1px; } ").arg((ui.tabWidget->size().width() /ui.tabWidget->count()));
std::string t = new_style.toStdString();
orig_sheet = orig_sheet + t;
ui.tabWidget->setStyleSheet(orig_sheet.c_str());
}
上述方法工作正常。现在,当 QTabwidget 与其他一些布局一起设置在 Qsplitter 布局中时,问题就开始了。在启动构造时,上述方法似乎不起作用,例如我有这样的东西
Someclass::SomeConstructor()
{
ui.setupUi(this);
.........
QObject::connect(ui.splitter,SIGNAL(splitterMoved(int,int)),this,SLOT(AdjustTabs(int,int)));
AdjustTabs(0,0);
}
现在,当表单出现时,选项卡的水平大小保持不变(它们不会扩展 - 这是错误的)。但是,当我移动拆分器时,选项卡会展开,一切都很好。我的问题是如何让我的选项卡在表单加载期间展开?他们为什么不扩张?