Archived:Controlling Actions item in Qt context-sensitive menus
hamishwillee
(Talk | contribs) m (Minor tweeks) |
hamishwillee
(Talk | contribs) m (Text replace - "<code cpp>" to "<code cpp-qt>") |
||
| (7 intermediate revisions by one user not shown) | |||
| Line 1: | Line 1: | ||
| − | [[ | + | {{Archived|timestamp=20120214033020|user=[[User:Hamishwillee|<br />----]]|[[:Category:Qt Quick|Qt Quick]] should be used for all UI development on mobile devices. The approach described in this article (based on {{Qapiname|QWidget}}) is deprecated.}} |
| − | {{ | + | [[Category:Qt C++ UI]][[Category:Symbian]][[Category:How To]][[Category:Code Snippet]][[Category:UI]] |
| − | {{ | + | |
| − | | | + | {{ArticleMetaData <!-- v1.2 --> |
| − | | | + | |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]]) --> | ||
|devices= All (S60) | |devices= All (S60) | ||
| − | | | + | |sdk= <!-- SDK(s) built and tested against (e.g. [http://linktosdkdownload/ Nokia Qt SDK 1.1]) --> |
| − | | | + | |platform= S60 3rd Edition, FP1, FP2<br>S60 5th Edition |
| − | | | + | |devicecompatability= <!-- Compatible devices (e.g.: All* (must have GPS) ) --> |
| − | |keywords=QWidget::setContextMenuPolicy(), QWidget::setSoftKeys() | + | |dependencies= <!-- Any other/external dependencies e.g.: Google Maps Api v1.0 --> |
| + | |signing= <!-- Empty or one of Self-Signed, DevCert, Manufacturer --> | ||
| + | |capabilities= <!-- Capabilities required by the article/code example (e.g. Location, NetworkServices. --> | ||
| + | |keywords= QWidget::setContextMenuPolicy(), QWidget::setSoftKeys() | ||
| + | |language= <!-- Language category code for non-English topics - e.g. Lang-Chinese --> | ||
| + | |translated-by= <!-- [[User:XXXX]] --> | ||
| + | |translated-from-title= <!-- Title only --> | ||
| + | |translated-from-id= <!-- Id of translated revision --> | ||
| + | |review-by= <!-- After re-review: [[User:username]] --> | ||
| + | |review-timestamp= <!-- After re-review: YYYYMMDD --> | ||
| + | |update-by= <!-- After significant update: [[User:username]]--> | ||
| + | |update-timestamp= <!-- After significant update: YYYYMMDD --> | ||
| + | |creationdate= 20090914 | ||
| + | |author= [[User:Treinio]] | ||
}} | }} | ||
| Line 20: | Line 34: | ||
==Source code== | ==Source code== | ||
| − | <code cpp> | + | <code cpp-qt> |
MainWindow::MainWindow(QWidget *parent) | MainWindow::MainWindow(QWidget *parent) | ||
: QMainWindow(parent) | : QMainWindow(parent) | ||
| Line 53: | Line 67: | ||
Text editor has a menu without any visible ''Actions'' items. | Text editor has a menu without any visible ''Actions'' items. | ||
| − | |||
| − | |||
| − | + | ==See also== | |
| − | + | [[CS001351 - Adding Options menu, panes, and icon to a Qt application]] | |
Latest revision as of 04:14, 11 October 2012
Archived: 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.
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)
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
(11 Oct 2012)
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 application

