零基础学Qt4编程之删除布局内窗口部件的方法

要从一个布局内删除一个窗口部件,只需调用QLayout::removeWidget()方法。其原型如下:

     void QLayout::removeWidget ( QWidget * widget )

这将删除该布局内的widget窗口部件,但是并没有把它从窗体界面上删除。调用完该函数后,你需要为该窗口部件指定一个合适的几何大小,或者干脆把它从界面上删除。一个实例代码如下:

     gridLayout->removeWidget(nameLabel);
     nameLabel->setGeometry(9,9,50,25);

如果只是想使布局内的窗口部件隐藏起来,就可以调用QWidget::hide()方法。然后调用QWidget::show()方法可以使它再次显示。使用方法比较简单,读者可以自行验证。

如果往布局中添加一个窗口部件或者从布局中移除一个窗口部件,布局都会自动适应所产生的这些新情况。如果对一个子窗口部件调用了hide()或者show(),也同样能够做到自动适应。如果一个子窗口部件的大小提示发生了变化,布局将会自动进行调整,从而把新的大小提示考虑进去。还有,布局管理器也会自动根据窗体中子窗口部件的最小大小提示和大小提示,从总体上考虑,为这个窗体设置一个最小尺寸。

你可能感兴趣的:(零基础学Qt,4编程)