私は、QObject
が破壊されると、そのすべての子を破壊することも知っています。しかし、私の最近のQtコードでは、Qtのメモリ管理がまったく役に立たないようにするポインタメンバーではなく、直接メンバーとしてすべてのクラスのメンバー(たとえば、QMainWindow
)を宣言してきました。メモリ管理のほかに、QObjectの親は何のために使われていますか?
したがって、この子育てプロパティーは、QObjects
が他の用途に使用されていますか? ドキュメントから、(ウィジェットをレイアウトに追加すると、their parent will be set to the parent of the layoutとしてthugaと表示されます)。QBoxLayout::addWidget()
がウィジェットの所有権を取るかどうかはわかりません(私はそうではないと思います)。
あなたはレイアウトにウィジェットを追加すると、[自分の親がレイアウトの親に設定されます](http://doc.qt.io/qt-5/layout.html#tips- for-using-layouts)(レイアウトを含むウィジェット)。 – thuga
破壊の理由に加えて、親を設定する良い理由の1つは、オブジェクトを新しいスレッドに移動するときです。オブジェクトを新しいスレッドに移動すると、すべての子が新しいスレッドに移動します。 – thuga
あなたの慣用でないQtクラスの使用。 Qtクラスをドキュメントとして提案することを提案します。 – gomons