Добрый день,
обнаружил странное поведение при работе минимального приложения: при закрытии приложение завершается с кодом ошибки (не с кодом 0 как должно быть в случае успешного завершения). Добавил в стандартный класс MainWindow -
mainwindow.h:
QSharedPointer<QLabel> label;
В конструкторе в mainwindow.cpp:
label = QSharedPointer<QLabel>(new QLabel(this)); ui->mainLayout->addWidget(label.data());
Методом проб и ошибок выяснил, что проблема точно появляется при использовании label, если убрать, то проблема пропадает.
Буду благодарен любым советам )
Приветствую, здесь объект удаляется дважды, в этом проблема. Один раз label удаляет QSharedPointer, а второй раз MainWindow, так как он указан в качестве родителя при создании QLabel. Как вариант, надо изменить:
label = QSharedPointer<QLabel>(new QLabel(this));
на
label = QSharedPointer<QLabel>(new QLabel());