使用Qt在S60设备上创建选项菜单时出现问题

时间:2011-06-25 11:48:12

标签: qt menu symbian s60

我想创建标准的本机选项菜单,在诺基亚E52上按下“选项”软键后显示该菜单。 它类似于这个:

menu

我的代码看起来像这样:

this->changefile = menuBar()->addAction(tr("Change file"),this,SLOT(openFileChooser()));
this->changefile->setEnabled(true);

问题是,当我按下应该显示此菜单的按钮时,没有任何反应。没有菜单。我的代码出了什么问题?请帮忙。

1 个答案:

答案 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() ) );

请记住,具有菜单的小部件必须是要显示的菜单的活动顶级小部件。

祝你好运