Не удается выполнить основную задачу в QT4 - PullRequest
2 голосов
/ 28 марта 2010

Я не могу открыть новое окно в QT. Я новичок в QT, поэтому я думаю, что что-то упустил. Я только пишу код ниже, и настройки окна просто показывает себя и закрывается. Я закомментировал деструктор, но проблема остается.

SettingsWindow s;
s.show();

Что я делаю не так? Кстати, я не могу отладить его, например, отладчик не останавливается, когда достигает первой строки.

Спасибо

Ответы [ 2 ]

3 голосов
/ 28 марта 2010

Возможно, это не единственный код, который вы написали.

Однако, судя по вашему описанию, первое, что приходит на ум, - это, вероятно, пропущенный вызов QApplication::exec(). Где-то в коде, который вы здесь не показывали, есть экземпляр QApplication, вероятно, с именем app. После вызова show в вашем окне, убедитесь, что есть звонок на exec.

2 голосов
/ 30 марта 2010

Поскольку вы используете не указатель var, ваше окно уничтожается, когда оно выходит за пределы области видимости (в конце функции). Если вы используете указатель при выходе из функции, память не будет удалена, поэтому ваша Windows все равно будет отображаться. Но вы не сможете очистить память при закрытии окна, если у вас больше не будет доступа к указателю.

Возможно, вам нужно создать окно в качестве члена вызывающего класса, чтобы иметь возможность уничтожить окно И очистить память, когда вам больше не нужно ее отображать (например, в деструкторе вызывающего класса). *

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...