Archived:Controlling Actions item in Qt context-sensitive menus
hamishwillee
(Talk | contribs) |
hamishwillee
(Talk | contribs) m (Hamishwillee - Bot change of template (Template:CodeSnippet) - now using Template:ArticleMetaData) |
||
| Line 1: | Line 1: | ||
[[Category:Qt]][[Category:Symbian]] | [[Category:Qt]][[Category:Symbian]] | ||
{{ReviewerApproved}} | {{ReviewerApproved}} | ||
| − | {{ | + | {{ArticleMetaData |
|id=n/a | |id=n/a | ||
|platform=S60 3rd Edition, FP1, FP2<br>S60 5th Edition | |platform=S60 3rd Edition, FP1, FP2<br>S60 5th Edition | ||
| Line 9: | Line 9: | ||
|creationdate=Sept 14, 2009 | |creationdate=Sept 14, 2009 | ||
|keywords=QWidget::setContextMenuPolicy(), QWidget::setSoftKeys() | |keywords=QWidget::setContextMenuPolicy(), QWidget::setSoftKeys() | ||
| + | |||
| + | |sourcecode= <!-- Link to example source code (e.g. [[Media:The Code Example ZIP.zip]]) --> | ||
| + | |installfile= <!-- Link to installation file (e.g. [[Media:The Installation File.sis]]) --> | ||
| + | |sdk=<!-- SDK(s) built and tested against (e.g. [http://linktosdkdownload/ Nokia Qt SDK 1.1]) --> | ||
| + | |devicecompatability=<!-- Compatible devices (e.g.: All* (must have GPS) ) --> | ||
| + | |signing=<!-- Empty or one of Self-Signed, DevCert, Manufacturer --> | ||
| + | |capabilities=<!-- Capabilities required (e.g. Location, NetworkServices.) --> | ||
| + | |author=[[User:Treinio]] | ||
}} | }} | ||
Revision as of 12:12, 24 June 2011
Article Metadata
Tested with
Devices(s): All (S60)
Compatibility
Platform(s): S60 3rd Edition, FP1, FP2
S60 5th Edition
S60 5th Edition
Article
Keywords: QWidget::setContextMenuPolicy(), QWidget::setSoftKeys()
Created: treinio
(14 Sep 2009)
Last edited: hamishwillee
(24 Jun 2011)
Contents |
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.
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

