c++ - 在小部件已经初始化后如何设置小部件的父级(例如,如果小部件是函数调用的参数)?
问题描述
我知道通常父母是通过在构造函数参数中给出的,例如,如果你想在框架内有一个按钮,你可以这样做:
QFrame frame = new QFrame();
QPushButton* button = new QPushButton(frame);
但是我已经有了想要作为子项添加到框架的按钮(它是在对我正在处理的函数的调用中作为参数接收的)。
有没有办法将已经存在的小部件作为子小部件添加到另一个小部件?或者将新的孩子添加到现有或不存在的父母?
解决方案
(免责声明:从通用汽车的评论中公然窃取的答案(经许可 - 见上文;))
简单的使用方法。QWidget's
setParent(QWidget *parent)
注意:新的父级拥有所有权QWidget
(即在父级被销毁时释放它等),您将需要show()
再次调用小部件以使其可见,因为更改QWidget
的父级变为不可见。
推荐阅读
- python - Python3 如何创建一个需要多个索引的数据框?
- python - TypeError:SQL查询后字符串索引必须是整数以检查用户是否是管理员
- c++ - 弱 POD 静态反射
- scala - spark-submit 传递 --files
- python - 在Python中的值范围内根据多个条件匹配两个数据框
- javascript - 如何在javascript中从数组中读取数据
- azure-language-understanding - 当在使用 Node.js 的 KB QnA maker 中找不到匹配项时,如何配置 LUIS 响应?
- r - 渲染存储在 R 闪亮应用程序列表中的多个图
- python - 查找 url 的正则表达式直到某个深度/目录
- kotlin - 如何在运行时获取函数文字的注解