您的位置:首页 > 编程语言 > Qt开发

QT遍历窗体的控件

2010-11-18 10:46 253 查看
通过递归遍历窗体里的所有QPushButton对象

voidtraversalControl(constQObjectList&q)

{

for
(inti=0;i<q.length();i++)

{

if(!q.at(i)->children().empty())

{


traversalControl(q.at(i)->children());


}

else

{


QObject*o=q.at(i);

if(o->inherits("QPushButton")){

QPushButton*b=qobject_cast<QPushButton*>(o);

b->setText("<>");


}//endif


}//endfor

}//endfunction


递归的调用方法

traversalControl(ui->centralWidget->children());



也可以通过递归遍历的方法在析构函数里delete所有对象

voidtraversalControl(constQObjectList&q)

{

for(inti=0;i<q.length();i++)

{

if(!q.at(i)->children().empty())

{

traversalControl(q.at(i)->children());

}

else

{

QObject*o=q.at(i);

if(o!=NULL){

deleteo;

}

}

}

}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: