, . , .
, QWidget n QTabWidget .
, QTabWidget. , , . , QWidget.


5 :
void MyWindow::setupTabs()
{
for (int i = 0; i < 5; ++i)
{
QWidget * w = new QWidget;
w->setLayout(new QHBoxLayout);
ui->tabWidget->addTab(w, "Tab " + std::to_string(i));
}
connect(
ui->tabWidget,
SIGNAL(currentChanged(int)),
this,
SLOT(onTabChanged(int)));
}
, . , " ".
:
void MyWindow::onTabChanged(int index)
{
QLayout * layout = ui->tabWidget->widget(index)->layout();
layout->removeWidget(ui->tabWidget->widget(index));
delete layout;
layout = new QHBoxLayout;
layout->addWidget(ui->flowTabWidget);
ui->tabWidget->widget(index)->setLayout(layout);
}
. . . . . , .
When you are done, your single instance QWidgetwill be used in all tabs and it will resize / stretch accordingly due to its parent layout .

Many thanks.
source
share