原文链接:https://www.fearlazy.com/index.php/post/324.html
QWidget类没有提供查找子控件的方法,但是它爹QObject有。
这个方法就是findChild,它长这样:
很显然它是一个模板,因此使用时需要提供一个类型,这个类型就是要查找的对象的类型。
函数有两个参数:
第一个是要查找的对象名(对象名通过setObjectName设置)
第二个表示查找直接孩子还是递归查找(可以查找后代的后代),默认Qt::FindChildrenRecursively(递归),只查找直接孩子是Qt::FindDirectChildrenOnly。
函数返回值:
函数返回查找到的对象,若没找到则返回0。
例:
1.在一个QWidget上放置两个QLineEdit和一个QPushButton
2.分别设置三个控件的对象名,然后用findChild查找第一个lineEdit并设置其文本。
3.执行结果:
注:findChild只返回一个孩子,需要查找多个孩子使用findChildren函数。
可以看到findChildren的参数和findChild的参数是一样的。
---> 文章来源于我的个人博客:fearlazy
---> 编程是一件怎么也学不会的事情,但是如果能享受学习的过程也是挺好的。