while(layout->count() > 0)
{
//TianYe-2011-11-19-删除QLayoutGrid中的Widget
QWidget* widget = layout->itemAt(0)->widget();
layout->removeWidget(widget);
delete widget;
}
layout是QGridLayout类型的指针。
上面的示例代码完成的功能是,清除layout中的内容。
代码产生的作用:
在一个页面中使用QGridLayout布局,其中的元素是动态生成的,当条件变化时需要改变QGridLayout中的元素,而改变这些元素之前,就必选要先将QGridLayout中已经存在的元素清除。清除过之后,重新填充QGridLayout的内容,这样实现动态刷新QGridLayout中的Widget。
参考文章:
http://hi.baidu.com/wangjuns8/blog/item/5d85f5de53e167e477c638d4.html