在这里和其他像qtcentre这样的地方搜索我已经看到这个问题已经出现但似乎无法让它运作起来.我有一个带有QSplitter的MainWindow小部件,它包含两个Pane小部件(来自QFrame的子类).每个窗格都有一个菜单栏,其中包含相同的QActions/Shortcuts.
我已经尝试了ShortcutContexts和setShortcutContext()的所有组合.
WindowShortcut和ApplicationShortcut上下文给出了预期的"不明确的快捷方式重载".
虽然WidgetShortcut和WidgetWithChildrenShortcut都什么都不做.
如果我手动激活菜单,它们当然可以正常工作.我也尝试使用重载的enterEvent()强制关注父窗口小部件.
有任何想法吗?
谢谢.
#include <QMainWindow>
#include <QFrame>
QT_BEGIN_NAMESPACE
class QAction;
class QMenu;
class QHBoxLayout;
class QSplitter;
class QWidget;
QT_END_NAMESPACE
class Pane: public QFrame
{
Q_OBJECT
public:
Pane(QWidget* parent = 0);
protected:
void enterEvent(QEvent *event);
void leaveEvent(QEvent *event);
private:
void createMenus();
QMenuBar * m_menuBar;
private Q_SLOTS:
void split();
};
class MainWindow : public …Run Code Online (Sandbox Code Playgroud)