добавление дочернего элемента в QMainWindow - PullRequest
7 голосов
/ 15 февраля 2012

Как я могу добавить два дочерних Widget объекта в равной части QMainWindow.

MainWindow::MainWindow(QWidget *parent)
     : QMainWindow(parent)

{   TreeArea *ta= new TreeArea(this);
    TreeArea *ta1= new TreeArea(this);
.
.
.
  TreeArea::TreeArea(QWidget *parent) :
 QWidget(parent)
{
.
.
.

Ответы [ 2 ]

14 голосов
/ 16 февраля 2012

Как e-цинк предложил вам использовать макет.Скажем, вы хотите вставить два виджета в главное окно.

QHBoxLayout *layout = new QHBoxLayout;

QPushButton *button1 = new QPushButton("button1");
QPushButton *button2 = new QPushButton("button2");

layout->addWidget(button1);
layout->addWidget(button2);

setCentralWidget(new QWidget);
centralWidget()->setLayout(layout);

Это позволит расположить виджеты горизонтально, и вы получите такой результат: QHBoxLayoutExample

А если вы хотите расположить их по вертикали, используйте QVBoxLayout

Я бынастоятельно рекомендуем прочитать документацию. Управление раскладкой в ​​Qt

3 голосов
/ 16 февраля 2012

Используйте QMainWindow::setCentralWidget(QWidget *), чтобы добавить свой собственный элемент управления.

...