Im, используя setContentsMargins
, чтобы добавить расстояние между моими вкладками (центральный виджет) и виджетами док-станции, но также компенсирует строку меню.Qt menubar offset
тест
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = 0)
: QMainWindow(parent)
{
QMenu* fileMenu = menuBar()->addMenu("File");
fileMenu->addMenu("menu item");
QTabWidget* tabs = new QTabWidget();
tabs->addTab(new QWidget(), "something");
setCentralWidget(tabs);
QDockWidget* dw = new QDockWidget("docking", this);
dw->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);
dw->setWidget(new QTabWidget(dw));
addDockWidget(Qt::RightDockWidgetArea, dw);
setContentsMargins(5, 5, 5, 5);
resize(500, 500);
}
~MainWindow() {}
};
изображение
Вместо настройки поля содержимого для главного окна попробуйте установить его для центрального виджета. 'this-> centralWidget() -> setContentsMargins (5, 5, 5, 5);' – nnb
Я тоже это пробовал, но я думаю, что setContentsMargins только смещает дочерние виджеты, поэтому он не имел никакого эффекта – DevGuy
Думаю, вам нужно добавить дополнительный макет , где размещается виджет вкладки и виджет док-станции и изменяются поля этого макета. Я попробовал это, и это дает мне тот же результат. – Paraboloid87