本文整理汇总了C++中QMenu::setParent方法的典型用法代码示例。如果您正苦于以下问题:C++ QMenu::setParent方法的具体用法?C++ QMenu::setParent怎么用?C++ QMenu::setParent使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QMenu
的用法示例。
在下文中一共展示了QMenu::setParent方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: eventFilter
bool ItemDelegate::eventFilter(QObject *object, QEvent *event)
{
if (object->objectName() == "editor") {
QPlainTextEdit *editor = qobject_cast<QPlainTextEdit*>(object);
if (editor == NULL)
return false;
QEvent::Type type = event->type();
if ( type == QEvent::KeyPress ) {
QKeyEvent *keyevent = static_cast<QKeyEvent *>(event);
switch ( keyevent->key() ) {
case Qt::Key_Enter:
case Qt::Key_Return:
// Commit data on Ctrl+Return or Enter?
if (m_saveOnReturnKey) {
if (keyevent->modifiers() == Qt::ControlModifier) {
editor->insertPlainText("\n");
return true;
} else if (keyevent->modifiers() != Qt::NoModifier) {
return false;
}
} else {
if (keyevent->modifiers() != Qt::ControlModifier)
return false;
}
emit commitData(editor);
emit closeEditor(editor);
return true;
case Qt::Key_S:
// Commit data on Ctrl+S.
if (keyevent->modifiers() != Qt::ControlModifier)
return false;
emit commitData(editor);
emit closeEditor(editor);
return true;
case Qt::Key_F2:
// Commit data on F2.
emit commitData(editor);
emit closeEditor(editor);
return true;
case Qt::Key_Escape:
// Close editor without committing data.
emit closeEditor(editor, QAbstractItemDelegate::RevertModelCache);
return true;
default:
return false;
}
} else if ( type == QEvent::ContextMenu ) {
QAction *act;
QMenu *menu = editor->createStandardContextMenu();
connect( menu, SIGNAL(aboutToHide()), menu, SLOT(deleteLater()) );
menu->setParent(editor);
act = menu->addAction( tr("&Save Item") );
act->setShortcut( QKeySequence(tr("F2, Ctrl+Enter")) );
connect( act, SIGNAL(triggered()), this, SLOT(editorSave()) );
act = menu->addAction( tr("Cancel Editing") );
act->setShortcut( QKeySequence(tr("Escape")) );
connect( act, SIGNAL(triggered()), this, SLOT(editorCancel()) );
QContextMenuEvent *menuEvent = static_cast<QContextMenuEvent *>(event);
menu->popup( menuEvent->globalPos() );
}
} else {
// resize event for items
if (event->type() == QEvent::Resize) {
QResizeEvent *resize = static_cast<QResizeEvent *>(event);
ItemWidget *item = dynamic_cast<ItemWidget *>(object);
if (item != NULL) {
item->widget()->resize(resize->size());
onItemChanged(item);
return true;
}
}
}
return false;
}
示例2: styleSheet
//.........这里部分代码省略.........
m_actions[Redo]->setText(i18n("Redo"));
m_actions[Redo]->setShortcuts(KStandardShortcut::redo());
connect(m_actions[Redo], SIGNAL(triggered()), this, SLOT(redo()));
m_actions[Cut] = new QAction(this);
m_actions[Cut]->setIcon(QIcon::fromTheme("edit-cut"));
m_actions[Cut]->setText(i18n("Cut"));
m_actions[Cut]->setShortcuts(KStandardShortcut::cut());
connect(m_actions[Cut], SIGNAL(triggered()), this, SLOT(cut()));
m_actions[Copy] = new QAction(this);
m_actions[Copy]->setIcon(QIcon::fromTheme("edit-copy"));
m_actions[Copy]->setText(i18n("Copy"));
m_actions[Copy]->setShortcuts(KStandardShortcut::copy());
connect(m_actions[Copy], SIGNAL(triggered()), this, SLOT(copy()));
#if !defined(QT_NO_CLIPBOARD)
m_actions[Paste] = new QAction(this);
m_actions[Paste]->setIcon(QIcon::fromTheme("edit-paste"));
m_actions[Paste]->setText(i18n("Paste"));
m_actions[Paste]->setShortcuts(KStandardShortcut::paste());
connect(m_actions[Paste], SIGNAL(triggered()), this, SLOT(paste()));
#endif
m_actions[Delete] = new QAction(this);
m_actions[Delete]->setIcon(QIcon::fromTheme("edit-delete"));
m_actions[Delete]->setText(i18n("Delete"));
m_actions[Delete]->setShortcut(QKeySequence::Delete);
connect(m_actions[Delete], SIGNAL(triggered()), this, SLOT(deleteText()));
m_actions[Clear] = new QAction(this);
m_actions[Clear]->setIcon(QIcon::fromTheme("edit-clear"));
m_actions[Clear]->setText(i18nc("@action:inmenu Clear all text", "Clear"));
connect(m_actions[Clear], SIGNAL(triggered()), this, SLOT(undoableClear()));
m_actions[SelectAll] = new QAction(this);
m_actions[SelectAll]->setIcon(QIcon::fromTheme("edit-select-all"));
m_actions[SelectAll]->setText(i18n("Select All"));
m_actions[SelectAll]->setShortcut(QKeySequence::SelectAll);
connect(m_actions[SelectAll], SIGNAL(triggered()), this, SLOT(selectAll()));
m_actions[ToggleBold] = new QAction(this);
m_actions[ToggleBold]->setIcon(QIcon::fromTheme("format-text-bold"));
m_actions[ToggleBold]->setText(i18nc("@action:inmenu Toggle bold style", "Bold"));
m_actions[ToggleBold]->setShortcut(QKeySequence("Ctrl+B"));
connect(m_actions[ToggleBold], SIGNAL(triggered()), this, SLOT(toggleFontBold()));
m_actions[ToggleItalic] = new QAction(this);
m_actions[ToggleItalic]->setIcon(QIcon::fromTheme("format-text-italic"));
m_actions[ToggleItalic]->setText(i18nc("@action:inmenu Toggle italic style", "Italic"));
m_actions[ToggleItalic]->setShortcut(QKeySequence("Ctrl+I"));
connect(m_actions[ToggleItalic], SIGNAL(triggered()), this, SLOT(toggleFontItalic()));
m_actions[ToggleUnderline] = new QAction(this);
m_actions[ToggleUnderline]->setIcon(QIcon::fromTheme("format-text-underline"));
m_actions[ToggleUnderline]->setText(i18nc("@action:inmenu Toggle underline style", "Underline"));
m_actions[ToggleUnderline]->setShortcut(QKeySequence("Ctrl+U"));
connect(m_actions[ToggleUnderline], SIGNAL(triggered()), this, SLOT(toggleFontUnderline()));
m_actions[ToggleStrikeOut] = new QAction(this);
m_actions[ToggleStrikeOut]->setIcon(QIcon::fromTheme("format-text-strikethrough"));
m_actions[ToggleStrikeOut]->setText(i18nc("@action:inmenu Toggle strike through style", "Strike Through"));
m_actions[ToggleStrikeOut]->setShortcut(QKeySequence("Ctrl+T"));
connect(m_actions[ToggleStrikeOut], SIGNAL(triggered()), this, SLOT(toggleFontStrikeOut()));
m_actions[ChangeTextColor] = new QAction(this);
m_actions[ChangeTextColor]->setIcon(QIcon::fromTheme("format-text-color"));
m_actions[ChangeTextColor]->setText(i18nc("@action:inmenu Change Text Color", "Text Color"));
m_actions[ChangeTextColor]->setShortcut(QKeySequence("Ctrl+Shift+C"));
connect(m_actions[ChangeTextColor], SIGNAL(triggered()), this, SLOT(changeTextColor()));
m_actions[CheckSpelling] = new QAction(this);
m_actions[CheckSpelling]->setIcon(QIcon::fromTheme("tools-check-spelling"));
m_actions[CheckSpelling]->setText(i18n("Check Spelling..."));
connect(m_actions[CheckSpelling], SIGNAL(triggered()), this, SLOT(checkSpelling()));
m_actions[ToggleAutoSpellChecking] = new QAction(this);
m_actions[ToggleAutoSpellChecking]->setText(i18n("Auto Spell Check"));
m_actions[ToggleAutoSpellChecking]->setCheckable(true);
connect(m_actions[ToggleAutoSpellChecking], SIGNAL(triggered()), this, SLOT(toggleAutoSpellChecking()));
m_actions[AllowTabulations] = new QAction(this);
m_actions[AllowTabulations]->setText(i18n("Allow Tabulations"));
connect(m_actions[AllowTabulations], SIGNAL(triggered()), this, SLOT(toggleTabChangesFocus()));
QMenu *menu = createStandardContextMenu();
menu->setParent(this);
QList<QAction *> actions = menu->actions();
m_insertUnicodeControlCharMenu = 0;
for(QList<QAction *>::ConstIterator it = actions.constBegin(), end = actions.constEnd(); it != end; ++it) {
if((*it)->menu()) {
// this depends on Qt private implementation but at least is guaranteed
// to behave reasonably if that implementation changes in the future.
if(!strcmp((*it)->menu()->metaObject()->className(), "QUnicodeControlCharacterMenu")) {
m_insertUnicodeControlCharMenu = (*it)->menu();
break;
}
}
}
}
示例3: redoIcon
//.........这里部分代码省略.........
mUi->menuRecentFiles->insertAction(mUi->actionClearRecentFiles,
mRecentFiles[i]);
mRecentFiles[i]->setVisible(false);
connect(mRecentFiles[i], SIGNAL(triggered()),
this, SLOT(openRecentFile()));
}
mUi->menuRecentFiles->insertSeparator(mUi->actionClearRecentFiles);
setThemeIcon(mUi->actionNew, "document-new");
setThemeIcon(mUi->actionOpen, "document-open");
setThemeIcon(mUi->menuRecentFiles, "document-open-recent");
setThemeIcon(mUi->actionClearRecentFiles, "edit-clear");
setThemeIcon(mUi->actionSave, "document-save");
setThemeIcon(mUi->actionSaveAs, "document-save-as");
setThemeIcon(mUi->actionClose, "window-close");
setThemeIcon(mUi->actionQuit, "application-exit");
setThemeIcon(mUi->actionCut, "edit-cut");
setThemeIcon(mUi->actionCopy, "edit-copy");
setThemeIcon(mUi->actionPaste, "edit-paste");
setThemeIcon(mUi->actionDelete, "edit-delete");
setThemeIcon(redoAction, "edit-redo");
setThemeIcon(undoAction, "edit-undo");
setThemeIcon(mUi->actionZoomIn, "zoom-in");
setThemeIcon(mUi->actionZoomOut, "zoom-out");
setThemeIcon(mUi->actionZoomNormal, "zoom-original");
setThemeIcon(mUi->actionNewTileset, "document-new");
setThemeIcon(mUi->actionMapProperties, "document-properties");
setThemeIcon(mUi->actionAbout, "help-about");
mStampBrush = new StampBrush(this);
mBucketFillTool = new BucketFillTool(this);
connect(mTilesetDock, SIGNAL(currentTilesChanged(const TileLayer*)),
this, SLOT(setStampBrush(const TileLayer*)));
connect(mStampBrush, SIGNAL(currentTilesChanged(const TileLayer*)),
this, SLOT(setStampBrush(const TileLayer*)));
QToolBar *toolBar = mUi->toolsToolBar;
toolBar->addAction(mToolManager->registerTool(mStampBrush));
toolBar->addAction(mToolManager->registerTool(mBucketFillTool));
toolBar->addAction(mToolManager->registerTool(new Eraser(this)));
toolBar->addAction(mToolManager->registerTool(new TileSelectionTool(this)));
mDocumentManager->setSelectedTool(mToolManager->selectedTool());
connect(mToolManager, SIGNAL(selectedToolChanged(AbstractTool*)),
mDocumentManager, SLOT(setSelectedTool(AbstractTool*)));
statusBar()->addWidget(mStatusInfoLabel);
connect(mToolManager, SIGNAL(statusInfoChanged(QString)),
this, SLOT(updateStatusInfoLabel(QString)));
// Add the 'Views and Toolbars' submenu. This needs to happen after all
// the dock widgets and toolbars have been added to the main window.
mViewsAndToolbarsMenu = new QAction(tr("Views and Toolbars"), this);
QMenu *popupMenu = createPopupMenu();
popupMenu->setParent(this);
mViewsAndToolbarsMenu->setMenu(popupMenu);
mUi->menuView->insertAction(mUi->actionShowGrid, mViewsAndToolbarsMenu);
mUi->menuView->insertSeparator(mUi->actionShowGrid);
connect(ClipboardManager::instance(), SIGNAL(hasMapChanged()), SLOT(updateActions()));
connect(mDocumentManager, SIGNAL(currentDocumentChanged(MapDocument*)),
SLOT(mapDocumentChanged(MapDocument*)));
connect(mDocumentManager, SIGNAL(documentCloseRequested(int)),
this, SLOT(closeMapDocument(int)));
QShortcut *switchToLeftDocument = new QShortcut(tr("Alt+Left"), this);
connect(switchToLeftDocument, SIGNAL(activated()),
mDocumentManager, SLOT(switchToLeftDocument()));
QShortcut *switchToLeftDocument1 = new QShortcut(tr("Ctrl+Shift+Tab"), this);
connect(switchToLeftDocument1, SIGNAL(activated()),
mDocumentManager, SLOT(switchToLeftDocument()));
QShortcut *switchToRightDocument = new QShortcut(tr("Alt+Right"), this);
connect(switchToRightDocument, SIGNAL(activated()),
mDocumentManager, SLOT(switchToRightDocument()));
QShortcut *switchToRightDocument1 = new QShortcut(tr("Ctrl+Tab"), this);
connect(switchToRightDocument1, SIGNAL(activated()),
mDocumentManager, SLOT(switchToRightDocument()));
new QShortcut(tr("X"), this, SLOT(flipHorizontally()));
new QShortcut(tr("Y"), this, SLOT(flipVertically()));
new QShortcut(tr("Z"), this, SLOT(rotateRight()));
new QShortcut(tr("Shift+Z"), this, SLOT(rotateLeft()));
QShortcut *copyPositionShortcut = new QShortcut(tr("Alt+C"), this);
connect(copyPositionShortcut, SIGNAL(activated()),
mActionHandler, SLOT(copyPosition()));
updateActions();
readSettings();
setupQuickStamps();
connect(undoGroup, SIGNAL(indexChanged(int)),
mKodableMapValidator, SLOT(validateCurrentMap()));
connect(mKodableMapValidator, SIGNAL(errorChanged(QString)),
this, SLOT(setValidationError(QString)));
}