のドキュメントでこれに出くわしましたQMainWindow::setMenuBar(QMenuBar * menuBar):
注: QMainWindow は menuBar ポインターの所有権を取得し、適切なタイミングで削除します。
コード例 ( から派生したクラスのメソッド内QMainWindow):
QMenuBar * menuBar = new QMenuBar(this);
setMenuBar(menuBar) // <-- immediately transfer ownership
// use menuBar pointer to add actions, menus, and what not
QMenuBarを呼び出した後でも、自分のローカル ポインターを頼りにすることはできますsetMenuBarか? つまり、それは完全に保証されていますか?
QMainWindow派生クラスを削除すると、QMenuBarオブジェクトは構築時に親として設定されるため、オブジェクトも削除されますが、参照/ポインターのコピー以外QMainWindowの後の「所有権の引き継ぎ」にはどのようなポリシーがありますか?setMenuBar