【发布时间】:2017-01-21 02:51:39
【问题描述】:
在我的 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();
}
问题是,当我单击“设置”菜单中的“设置”选项时,“设置”窗口会按原样打开,但不到一秒钟后它会直接关闭。我应该怎么做才能使“设置”窗口保持打开状态?
【问题讨论】:
-
但不到一秒后它直接关闭。
openSettingsWindow()结束时,窗口超出范围。