В моей программе Qt есть строка меню, в которой одним из пунктов меню является «Настройки». Когда пользователь нажимает на окно настроек, должно открыться окно настроек. Окно настроек открывается с помощью функции openSettingsWindow(). Вот как я сделал меню настроек в главном окне:
Код: Выделить всё
QMenu settingsMenu("&Settings");
QAction *settings = toolsMenu.addAction("&Settings");
Window::connect(settings,&QAction::triggered,&mainWindow,[&mainWindow](){
openSettingsWindow();
});
menuBar.addMenu(&toolsMenu);
— это главное окно, а Window — это класс, используемый для создания окон, который наследуется от QWidget. Его конструктор принимает два аргумента: заголовок окна и значок окна. Это функция openSettingsWindow():
Код: Выделить всё
void openSettingsWindow(){
Window settingsWindow("Settings","icon.png");
settingsWindow.show();
}
Проблема в том, что когда я нажимаю кнопку «Настройки» в меню «Настройки», окно «Настройки» открывается так, как должно, но закрывается сразу менее чем через секунду. Что мне делать, чтобы окно настроек оставалось открытым?
Подробнее здесь:
https://stackoverflow.com/questions/394 ... ith-a-slot