【问题标题】:adding child in QMainWindow在 QMainWindow 中添加孩子
【发布时间】:2012-03-06 15:22:00
【问题描述】:

如何在 QMainWindow 的相等部分中添加两个子 Widget 对象。

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

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

【问题讨论】:

    标签: qt4 qmainwindow


    【解决方案1】:

    正如 e-zinc 建议的那样,您必须使用布局。假设您想在主窗口中插入两个小部件。

    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);
    

    这将水平布局小部件,您将得到以下结果:

    如果你想垂直布局它们,请使用QVBoxLayout

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

    【讨论】:

    • 我正在开发自定义标题栏,我认为这是最初的方法:使用布局开始将所有小部件放在那里
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-14
      • 2017-02-07
      • 1970-01-01
      相关资源
      最近更新 更多