如何动态删除 layout



  • 大家好:

    QDialog *dlg;
    dlg = new QDialog;

    QVBoxLayout *la;
    QVBoxLayout *lb;
    QVBoxLayout *lc;

    dlg->setLayout(la);
    la->addLayout(lb)
    la->addLayout(lc);

    lb->addWidget(new Label("***"));
    lb->addWidget(new Label("###"));

    lc->addWidget(new Label("***"));
    lc->addWidget(new Label("###"));

    ............

    怎样把 lb 从界面(dlg) 移除, 而不影向其它布局?谢谢!



  • @neeme
    你lb中的widgets是之後都不會再用嗎,還是只是想暫時把它隱藏起來
    如果不會再用,你可以手動去刪除lb中的widgets,然後用removeItem這個function把lb從la移除

    如果還會用到,你只要用hide這個function將lb中的widgets隱藏起來就好了

    不管是哪種情況,我覺得將lb set到一個widget會比較容易,不會再用就只要用removeWidget從la中移除然後刪掉那個widget,還會再用就hide那個widget


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.