在QMainWindow中添加孩子

时间:2012-02-15 09:26:19

标签: qt4 qmainwindow

如何在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 个答案:

答案 0 :(得分:14)

因为电子锌建议你必须使用布局。假设您要在主窗口中插入两个小部件。

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

我强烈建议阅读文档。 Layout Management in Qt

答案 1 :(得分:3)

使用QMainWindow::setCentralWidget(QWidget *)添加您自己的控件。