Как из одной формы вызвать другую?

программирование C++ qt QtCreator

Использую QT Creator. На основной форме mainWindow есть кнопка, по нажатию на которую должна показываться форма drawer.
Если я описываю форму в int main()
drawer d;
а в mainWindow
void MainWindow::on_pushButton_4_clicked()
{
d.show();
}
тогда компилятор ругается, что d was not declared at this scope.
А если описать форму прямо в обработчике кнопки, то она открывается и сразу убивается.
Как правильно вызвать форму?
Ответы:
> А если описать форму прямо в обработчике кнопки
1) drawer наследуй от QDialog, а не QWidget.
2) переменная drawer d; должна быть поле класса MainWindow. (в ошибке как раз речь об этом)
3) и метод не show() вызывай, а exec(), не забудь установить d.setParent(this);


13 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.