QObject
ポインターを受け取るセッターがあると仮定するのは正しいですか:
ポインターが
T*
?の場合、所有権を取得してポインターを削除します。例:
void QComboBox::setModel(QAbstractItemModel *)
const T*
ポインターが?の場合、所有権を取得せず、ポインターを削除しません。例:
void QLineEdit::setValidator(const QValidator *)
QObject は、削除されるとすべての子を削除します。そのような QObject に子を追加するには、適切な関係を確立する必要があります。
QObject* parent = new QObject();
QObject* child = new QObject(parent);
delete parent;//all the child objects will get deleted when parent is deleted
あなたの例では、そのようなステートメントはありません。呼び出す必要があります
QAbstractItemModel ( QObject * parent = 0 )
関数または呼び出しにポインターを渡す前のコンストラクター
void QObject::setParent ( QObject * parent )
//Makes the object a child of parent.
関数内。