Создаю QGridLayout, располагаю в нем QTabBar-ы по бокам и виджет в центре. Центральный виджет надо будет иногда заменять: вызываю QLayout::replaceWidget и после этого левый и верхний QTabBar-ы перестают реагировать на клики мышью.
C++ (Qt)
QTabBar *leftTabs = new QTabBar;
QTabBar *rightTabs = new QTabBar;
QTabBar *topTabs = new QTabBar;
QTabBar *bottomTabs = new QTabBar;
//настраиваем табвиджеты-------------------------
leftTabs->setShape(QTabBar::RoundedEast);
rightTabs->setShape(QTabBar::RoundedWest);
topTabs->setShape(QTabBar::RoundedSouth);
bottomTabs->setShape(QTabBar::RoundedNorth);
leftTabs->addTab("Aaaaaaaaaa");
leftTabs->addTab("Bbbbbbbbbb");
rightTabs->addTab("Aaaaaaaaaa");
rightTabs->addTab("Bbbbbbbbbb");
topTabs->addTab("Aaaaaaaaaa");
topTabs->addTab("Bbbbbbbbbb");
bottomTabs->addTab("Aaaaaaaaaa");
bottomTabs->addTab("Bbbbbbbbbb");
//---------------------------------------------------
QWidget *central = new QWidget;
central->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
QGridLayout *gridLayout = new QGridLayout;
gridLayout->setSpacing(0);
gridLayout->setContentsMargins(0, 0, 0, 0);
gridLayout->addWidget(topTabs, 0, 0, 1, 3);
gridLayout->addWidget(leftTabs, 1, 0, 1, 1);
gridLayout->addWidget(central, 1, 1, 1, 1);
gridLayout->addWidget(rightTabs, 1, 2, 1, 1);
gridLayout->addWidget(bottomTabs, 2, 0, 1, 3);
setLayout(gridLayout);
//заменяем центральный виджет:
QWidget *newcentral = new QWidget;
newcentral->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
gridLayout->replaceWidget(central, newcentral);
Пробовал вместо QGridLayout использовать QVBoxLayout + QHBoxLayout - результат точно такой же.
Qt 5.3.1, Windows(MinGW)