(Difference between revisions)

Archived:Controlling Actions item in Qt context-sensitive menus

From Nokia Developer Wiki
Jump to: navigation, search
hamishwillee (Talk | contribs)
m (Hamishwillee - Bot update - Move into Archived namespace)
hamishwillee (Talk | contribs)
m (Text replace - "<code cpp>" to "<code cpp-qt>")
(One intermediate revision by one user not shown)
Line 34: Line 34:
==Source code==
==Source code==
<code cpp>
<code cpp-qt>
MainWindow::MainWindow(QWidget *parent)
MainWindow::MainWindow(QWidget *parent)
     : QMainWindow(parent)
     : QMainWindow(parent)

Latest revision as of 04:14, 11 October 2012

Archived.pngArchived: This article is archived because it is not considered relevant for third-party developers creating commercial solutions today. If you think this article is still relevant, let us know by adding the template {{ReviewForRemovalFromArchive|user=~~~~|write your reason here}}.

Qt Quick should be used for all UI development on mobile devices. The approach described in this article (based on QWidget) is deprecated.

Article Metadata
Tested with
Devices(s): All (S60)
Platform(s): S60 3rd Edition, FP1, FP2
S60 5th Edition
Keywords: QWidget::setContextMenuPolicy(), QWidget::setSoftKeys()
Created: treinio (14 Sep 2009)
Last edited: hamishwillee (11 Oct 2012)


[edit] Description

Qt 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.

[edit] 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
// Set softkeys to text editor for a context-sensitive menu
QAction* options = new QAction(tr("Options"), this);
QAction* exit = new QAction(tr("Exit"), this);
QList<QAction*> textEditorSoftKeys;
// Add any common menu items into menu bar
fileMenu = menuBar()->addMenu(tr("&File"));
exit = new QAction(tr("&Exit"), this);
connect(exit, SIGNAL(triggered()), this, SLOT(close()));

[edit] Postconditions

Text editor has a menu without any visible Actions items.

[edit] See also

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

This page was last modified on 11 October 2012, at 04:14.
117 page views in the last 30 days.