Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: qtkoder777 от Апрель 06, 2017, 12:31



Название: Форма работает локально в методе и падает, если она член класса (QT 4.8)
Отправлено: qtkoder777 от Апрель 06, 2017, 12:31
Вот такой странный класс экранной формы на базе QDialog. Какая может быть причина такого поведения?
Код
C++ (Qt)
class DlgBox : public QDialog
{
};
DlgBox::DlgBox(QWidget *parent)
: QDialog(parent, Qt::Tool | Qt::MSWindowsFixedSizeDialogHint | Qt::CustomizeWindowHint |
 Qt::WindowTitleHint | Qt::X11BypassWindowManagerHint)
{
};
Если написать так, то всё работает
Код
C++ (Qt)
void DlgBox::display()
{
     DlgBox box;
}
Если объявить в классе, то программа падает при запуске.
Код
C++ (Qt)
class MyClass : public QDialog
{
      DlgBox box;
};


Название: Re: Форма работает локально в методе и падает, если она член класса
Отправлено: gil9red от Апрель 06, 2017, 12:55
С таким кодом падать при запуске не должно. Можете приложить к вопросу минимальный пример с проблемой?


Название: Re: Форма работает локально в методе и падает, если она член класса
Отправлено: qtkoder777 от Апрель 06, 2017, 13:42
С таким кодом падать при запуске не должно. Можете приложить к вопросу минимальный пример с проблемой?
Совершенно не выдающийся класс. Диалог с кнопкой. Разве что QMovie внутри есть.
Если его создать как переменную метода, то всё в порядке.
Если как переменную класса, то падает сразу, не успев зайти в конструктор класса.


Название: Re: Форма работает локально в методе и падает, если она член класса (QT 4.8)
Отправлено: gil9red от Апрель 06, 2017, 14:01
Что-то не охото в экстрасенсов играть и угадывать что у вас там в коде сделано, приложите минимальный рабочий проект с проблемой :)


Название: Re: Форма работает локально в методе и падает, если она член класса (QT 4.8)
Отправлено: qtkoder777 от Апрель 06, 2017, 16:40
Тогда придется выкладывать 5 файлов, так как есть DlgBoxPrivate и ui.


Название: Re: Форма работает локально в методе и падает, если она член класса (QT 4.8)
Отправлено: __Heaven__ от Апрель 06, 2017, 17:13
Уууу как много... :)
Думаю, что мы это как-нибудь переживём.