Qt小部件布局添加了事件

时间:2014-06-18 10:57:29

标签: c++ qt qwidget

我有以下自定义小部件:

QBrowserContainer::QBrowserContainer(QWidget *parent) :
    QWidget(parent)
{

    QPushButton *test= new  QPushButton("Test",this);

    // ----> layout()->addWidget(test);
} 

在Qt创建者中,我将QWidget提升为QBrowserContainer。

在注释行中我添加了一个小部件到布局但我不能这样做,因为我们还没有布局,在创建QBrowserContainer之后在setupUI中添加。所以我的问题是:当布局添加到窗口小部件时是否有任何事件被触发,所以我可以将窗口小部件添加到创建的布局中?

我知道我可以创建一个布局并像这样添加小部件:

QBrowserContainer::QBrowserContainer(QWidget *parent) :
        QWidget(parent)
    {

        QPushButton *test= new  QPushButton("Test",this);

        QHBoxLayout* pLayout = new QHBoxLayout(this);
        pLayout->addWidget(test);

    } 

但我想使用设计器创建的布局(由SetupUI()创建)。

由于

1 个答案:

答案 0 :(得分:1)

您可以通过ui->访问在设计器中创建的布局。例如,如果它是QGridLayout,则默认情况下它的名称为gridLayout

ui->gridLayout->addWidget(test);

您可以在设计师中查看名称。