2011-06-25 2 views
1

Je souhaite créer un menu d'options natives standard qui s'affiche après avoir appuyé sur la touche programmable Options du Nokia E52. Il quelque chose de similaire à celui-ci:Problème lors de la création du menu d'options sur le périphérique S60 à l'aide de Qt

menu

Mon apparence de code comme ça:

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

Le problème est que lorsque j'appuie sur le bouton qui devrait montrer rien menu actuellement. Il n'y a pas de menu. Quel est le problème avec mon code? S'il vous plaît aider.

+1

Courez-vous votre application sur le simulateur? J'utilise Qt Creator 2.0.1 et si j'exécute mon application sur simulateur, le menu Options n'apparaît pas. Cependant, sur un appareil, cela fonctionne parfaitement bien. – Yuliya

Répondre

2

Voilà comment créer un menu de touches logicielles:

//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())); 

Rappelez-vous que le widget qui a le menu doit être un widget de haut niveau actif pour le menu à afficher. Sincères salutations

Questions connexes