Important: Please read the Qt Code of Conduct -

[Solved]Placing Widgets in the MainWindow

  • Hello Everyone,

    I am Qt-bigginer and am writting an application that consists of QMenuBar,QToolBar, MainWindow and QStatusBar.

    I am trying to set 2 Widgets in the center of main window.
    Right down the toolbar a QWidget that consists of lable, button and combobox and down to it, a table that the values have to be changed by clicking on the button at the QWidget.
    I have got a problem to place my widgets right down the QToolbar. In centralWidget, the lable,comboBox...will be shown in the middel of the window. Here is part of my code:

    QWidget* centralWidget = new QWidget;
    QHBoxLayout* layout = new QHBoxLayout;
    QLabel* tool1 = new QLabel(tr("Tool1: "));
    QComboBox* combo_tool1 = new QComboBox();
    combo_tool1->addItem(tr("Select the tool"));



    How am I supposed to fix it. :(

    Thank you

  • There are basically two options:

    • pass an "alignment": to QLayout::addWidget() or
      layout->addWidget(tool1, 0, Qt::AlignTop);
      layout->addWidget(combo_tool1, 0, Qt::AlignTop);
    • use another QVBoxLayout and a stretch to place it on top. This is particularly useful if you want to add other widgets below. In addition, a stretch can be used to glue the combo box to the label.

    QVBoxLayout* centralLayout = new QVBoxLayout;


  • Thank works:)

  • You're welcome ;-)

    Make sure you add "[Solved]" to your initial posts title to indicate that there is a solution inside.

Log in to reply