刚刚学习QT,用Designer设计时,发现可以创建菜单及子菜单,并且可以针对每个菜单项添加一个Action,并且针对此菜单添加一个Slot,但是好像并没有作用。不知道为什么?
在VS中,添加一个菜单项“系统”,对象名为:menuSYSTEM,形成下面的代码:
menuSYSTEM = new QMenu(menuBar);
menuSYSTEM->setObjectName(QString::fromUtf8("menuSYSTEM"));
添加actionSystem中,其中Action的Text属性为'系统'。代码如下:
actionSysterm = new QAction(MainWindow);
actionSysterm->setObjectName(QString::fromUtf8("actionSysterm"));
menuBar->addAction(menuSYSTEM->menuAction());
添加SLOT后,代码如下:
QObject::connect(actionSystem,SIGNAL(triggered()),MainWindow,SLOT(close());
此时仍然没有作用。尝试修改'ui_Mainwindow.h'中的
menuBar->addAction(menuSYSTEM->menuAction());
为
menuBar->addAction(actionSystem);
这样菜单就可以作用了。
但修改改'ui_Mainwindow.h'中的代码并不是正常的途径,不知道有其他办法没有?
请求高手帮忙。