本文整理汇总了C++中QMenuBar::setActiveAction方法的典型用法代码示例。如果您正苦于以下问题:C++ QMenuBar::setActiveAction方法的具体用法?C++ QMenuBar::setActiveAction怎么用?C++ QMenuBar::setActiveAction使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QMenuBar
的用法示例。
在下文中一共展示了QMenuBar::setActiveAction方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: eventFilter
bool UIKeyboardHandlerNormal::eventFilter(QObject *pWatchedObject, QEvent *pEvent)
{
/* Check if pWatchedObject object is view: */
if (UIMachineView *pWatchedView = isItListenedView(pWatchedObject))
{
/* Get corresponding screen index: */
ulong uScreenId = m_views.key(pWatchedView);
NOREF(uScreenId);
/* Handle view events: */
switch (pEvent->type())
{
/* We don't want this on the Mac, cause there the menu-bar isn't within the
* window and popping up a menu there looks really ugly. */
case QEvent::KeyPress:
{
/* Get key-event: */
QKeyEvent *pKeyEvent = static_cast<QKeyEvent*>(pEvent);
/* Process Host+Home as menu-bar activator: */
if (isHostKeyPressed() && QKeySequence(pKeyEvent->key()) == gShortcutPool->shortcut(GUI_Input_MachineShortcuts, QString("PopupMenu")).sequence())
{
/* Trying to get menu-bar: */
QMenuBar *pMenuBar = qobject_cast<QMainWindow*>(m_windows[uScreenId])->menuBar();
/* If menu-bar is present and have actions: */
if (pMenuBar && !pMenuBar->actions().isEmpty())
{
/* Is menu-bar visible? */
if (pMenuBar->isVisible())
{
/* If 'active' action is NOT chosen: */
if (!pMenuBar->activeAction())
/* Set first menu-bar action as 'active': */
pMenuBar->setActiveAction(pMenuBar->actions()[0]);
/* If 'active' action is chosen: */
if (pMenuBar->activeAction())
{
/* Activate 'active' menu-bar action: */
pMenuBar->activeAction()->activate(QAction::Trigger);
#ifdef VBOX_WS_WIN
/* Windows host needs separate 'focus set'
* to let menubar operate while popped up: */
pMenuBar->setFocus();
#endif /* VBOX_WS_WIN */
}
}
else
{
/* Post request to show popup-menu: */
QTimer::singleShot(0, m_pMachineLogic, SLOT(sltInvokePopupMenu()));
}
/* Filter-out this event: */
return true;
}
}
break;
}
default:
break;
}
}
/* Else just propagate to base-class: */
return UIKeyboardHandler::eventFilter(pWatchedObject, pEvent);
}