|
通常在添加控件时,使用Qt Designer拖动就可以了,但是偶尔也会遇到需要使用代码动态添加控件的时候。
- 在需要动态增减空间的部件上添加一个布局控件,然后在布局上增减控件,这样部件大小会跟着变化。
- 新增控件时,名称不要重复。
- 新增控件时,需要设置最小宽高,以免加入布局后缩到最小。
- 删除控件时,一定要在父部件上找,而不是在布局上。
- 删除空间时,先判断指针空间是否为空。
添加控件:
QWidget *w = new TocPannel;
w->setObjectName("toc");
QHBoxLayout * horizontal_layout = ui->verticalLayout;
horizontal_layout->setDirection(QBoxLayout::TopToBottom);
horizontal_layout->setAlignment(Qt::AlignTop)
horizontal_layout->addWidget(w);
删除控件:
QWidget *w = this->findChild<QWidget *>("toc");
ui->horizontalLayout->removeWidget(w);
w->deleteLater();
|