小部件已初始化后,如何设置小部件的父级(例如,如果小部件是函数调用的参数)?

时间:2019-06-12 20:55:35

标签: c++ qt

我知道通常是通过在构造函数参数中给定父母来设置的,例如,如果您想在框架内设置按钮,则可以这样做:

QFrame frame = new QFrame();
QPushButton* button = new QPushButton(frame);

但是我已经有了要作为子代添加到框架中的按钮(它是我正在使用的函数的调用中的自变量)。

有什么方法可以将现有的小部件作为子级添加到另一个小部件中?还是将新孩子添加到现有或不存在的父母中?

1 个答案:

答案 0 :(得分:2)

(免责声明:回答从G.M.的评论中被偷来的内容(经许可-参见上面;))

只需使用QWidget's setParent(QWidget *parent)方法。

注意:新的父级拥有QWidget的所有权(即,在父级销毁时将其分配等),您需要再次在小部件上调用show()使其可见,例如不断变化的父母使QWidget的人变得看不见。