我想创建标准的本机选项菜单,在诺基亚E52上按下“选项”软键后显示该菜单。 它类似于这个:
我的代码看起来像这样:
this->changefile = menuBar()->addAction(tr("Change file"),this,SLOT(openFileChooser()));
this->changefile->setEnabled(true);
问题是,当我按下应该显示此菜单的按钮时,没有任何反应。没有菜单。我的代码出了什么问题?请帮忙。
答案 0 :(得分:2)
以下是我创建软键菜单的方法:
//Create the action and set its softkey role
leftKeyAction_mp = new QAction( this );
leftKeyAction_mp->setText( "Options" );
leftKeyAction_mp->setSoftKeyRole( QAction::PositiveSoftKey );
//Add the action to the widget (QWidget::addAction)
addAction( leftKeyAction_mp );
//Create the menu and add set it for the action
optionsMenu_mp = new QMenu( this );
leftKeyAction_mp->setMenu( optionsMenu_mp );
//Add an action to the menu
optionsMenu_mp->addAction( "Item", this, SLOT( itemClicked() ) );
请记住,具有菜单的小部件必须是要显示的菜单的活动顶级小部件。
祝你好运