私は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();
}