
layout->addWidget(部件名)如果你是在ui界面下,直接删除就ok啦!希望能帮到你!
请问你做出来了吗?我现在也遇到这个问题。找到方法了,放在这希望能帮到大家一点点吧。
int itemCount = layout()->count()// layout是你前一个布局
for (int i = (itemCount - 1)i >= 0--i)//从末尾开始是因为你删除会影响布局的顺序。例如你删掉第一个,后面的会往前移,第二就变成第一个,然后这时你要是++i的话,就是删掉原来布局里的第三个,这第二个被跳过了。
{
QLayoutItem *item = pathEdit->layout()->takeAt(i)
if (item != 0)
{
pathEdit->layout()->removeWidget(item->widget())
delete item->widget() //(ps:如果是子控件不是QWidget,这里会出错,要注意)
}
}
delete pathEdit->layout()
接下来就是你自己重新new 的布局了,然后setLayout就行了。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)