我正在使用 qt 并创建了一个类似“文件”的菜单栏,其中包含一些子菜单项“打开”、“保存”、“另存为”、“关闭”、“退出”。我还创建了“actionNew”、“actionOpen”等动作。我对工具栏使用了相同的操作,并使用“disableItems()”函数将菜单和工具栏项禁用到构造函数中,效果很好,工具栏和菜单项是灰色的。如果我单击子菜单项“新建”,则工具栏和菜单项已启用并且不会变灰,这也可以正常工作,但是如果我单击子菜单项“关闭”,则只有工具栏项变灰并且菜单项目仍然启用:(。我该如何解决它?希望你能帮助我,对不起我的英语不好;)
MainWindow::MainWindow(QWidget *parent)
:QMainWindow(parent), ui(new Ui::MainWindow)
{
ui->setupUi(this);
/* disable menu items and tool bar items */
disableItems();
}
void MainWindow::disableItems()
{
ui->actionSave->setEnabled(false);
ui->actionSaveAs->setEnabled(false);
ui->actionClose->setEnabled(false);
}
void MainWindow::enableItems()
{
ui->actionSave->setEnabled(true);
ui->actionSaveAs->setEnabled(true);
ui->actionClose->setEnabled(true);
}
void MainWindow::on_actionNew_triggered()
{
enableItems();
}
void MainWindow::on_actionClose_triggered()
{
disableItems();
}