Namespaces
Variants
Actions
Revision as of 16:25, 1 November 2009 by jimgilmour1 (Talk | contribs)

Archived:Controlling Actions item in Qt context-sensitive menus

Jump to: navigation, search
{{{width}}}
Article Metadata

Tested with
Devices(s): All (S60)

Compatibility
Platform(s): S60 3rd Edition, FP1, FP2
S60 5th Edition

Article
Keywords: QWidget::setContextMenuPolicy(), QWidget::setSoftKeys()
Created: (14 Sep 2009)
Last edited: jimgilmour1 (01 Nov 2009)

Contents

Description

Qt for Symbian allows using a context-sensitive menu to be shown in the control pane area that changes dynamically based on the focused widget. This is done by assigning softkeys (see QWidget::setSoftKeys() for a widget. By default, a menu item for Actions (see QWidget::actions()) is added in a focused widget's options menu.

This behavior can be changed by controlling context menu policy of a widget, a property that holds how the widget shows a context menu.

Preconditions


Source code

MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
textEditor = new QTextEdit(tr("Hello"), this);
 
// Set context menu policy to 'none' to prevent Actions menu from being shown
textEditor->setContextMenuPolicy(Qt::NoContextMenu);
 
// Set softkeys to text editor for a context-sensitive menu
QAction* options = new QAction(tr("Options"), this);
options->setSoftKeyRole(QAction::MenuSoftKey);
QAction* exit = new QAction(tr("Exit"), this);
exit->setSoftKeyRole(QAction::ExitSoftKey);
 
QList<QAction*> textEditorSoftKeys;
textEditorSoftKeys.append(options);
textEditorSoftKeys.append(exit);
textEditor->setSoftKeys(textEditorSoftKeys);
 
setCentralWidget(textEditor);
 
// Add any common menu items into menu bar
fileMenu = menuBar()->addMenu(tr("&File"));
exit = new QAction(tr("&Exit"), this);
fileMenu->addAction(exit);
connect(exit, SIGNAL(triggered()), this, SLOT(close()));
}

Postconditions

Text editor has a menu without any visible Actions items.

See also

CS001351 - Adding Options menu, panes, and icon to a Qt for Symbian application

127 page views in the last 30 days.
Nokia Developer aims to help you create apps and publish them so you can connect with users around the world.

京ICP备05048969号  © Copyright Nokia 2013 All rights reserved