Откройте новое окно Qt со слотомC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Откройте новое окно Qt со слотом

Сообщение Anonymous »

В моей программе Qt есть строка меню, в которой одним из пунктов меню является «Настройки». Когда пользователь нажимает на окно настроек, должно открыться окно настроек. Окно настроек открывается с помощью функции openSettingsWindow(). Вот как я сделал меню настроек в главном окне:

Код: Выделить всё

QMenu settingsMenu("&Settings");
QAction *settings = toolsMenu.addAction("&Settings");
Window::connect(settings,&QAction::triggered,&mainWindow,[&mainWindow](){
openSettingsWindow();
});
menuBar.addMenu(&toolsMenu);

Код: Выделить всё

mainWindow
— это главное окно, а Window — это класс, используемый для создания окон, который наследуется от QWidget. Его конструктор принимает два аргумента: заголовок окна и значок окна. Это функция openSettingsWindow():

Код: Выделить всё

void openSettingsWindow(){
Window settingsWindow("Settings","icon.png");
settingsWindow.show();
}
Проблема в том, что когда я нажимаю кнопку «Настройки» в меню «Настройки», окно «Настройки» открывается так, как должно, но закрывается сразу менее чем через секунду. Что мне делать, чтобы окно настроек оставалось открытым?

Подробнее здесь: https://stackoverflow.com/questions/394 ... ith-a-slot
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»