我有以下自定义小部件:
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()创建)。
由于
答案 0 :(得分:1)
您可以通过ui->
访问在设计器中创建的布局。例如,如果它是QGridLayout
,则默认情况下它的名称为gridLayout
:
ui->gridLayout->addWidget(test);
您可以在设计师中查看名称。