我知道通常是通过在构造函数参数中给定父母来设置的,例如,如果您想在框架内设置按钮,则可以这样做:
QFrame frame = new QFrame();
QPushButton* button = new QPushButton(frame);
但是我已经有了要作为子代添加到框架中的按钮(它是我正在使用的函数的调用中的自变量)。
有什么方法可以将现有的小部件作为子级添加到另一个小部件中?还是将新孩子添加到现有或不存在的父母中?
答案 0 :(得分:2)
(免责声明:回答从G.M.的评论中被偷来的内容(经许可-参见上面;))
只需使用QWidget's
setParent(QWidget *parent)
方法。
注意:新的父级拥有QWidget
的所有权(即,在父级销毁时将其分配等),您需要再次在小部件上调用show()
使其可见,例如不断变化的父母使QWidget
的人变得看不见。