QT:代码动态管理控件

论坛 期权论坛 脚本     
匿名技术用户   2020-12-29 23:09   36   0

通常在添加控件时,使用Qt Designer拖动就可以了,但是偶尔也会遇到需要使用代码动态添加控件的时候。

  1. 在需要动态增减空间的部件上添加一个布局控件,然后在布局上增减控件,这样部件大小会跟着变化。
  2. 新增控件时,名称不要重复。
  3. 新增控件时,需要设置最小宽高,以免加入布局后缩到最小。
  4. 删除控件时,一定要在父部件上找,而不是在布局上。
  5. 删除空间时,先判断指针空间是否为空。

添加控件:

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

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP