【问题标题】:Remap context menu call on qwidget重新映射 qwidget 上的上下文菜单调用
【发布时间】:2015-10-11 20:23:22
【问题描述】:

我的自定义小部件继承自 QWidget,并且我已将小部件的菜单调用信号连接到我的插槽。

connect(m_ontologyView, SIGNAL(customContextMenuRequested(QPoint)), SLOT(showContextMenuSlot(QPoint)));

现在我希望用户能够更改调用上下文菜单的按钮。通常它是用鼠标右键调用的,但是我如何告诉小部件用我选择的按钮调用菜单?

我使用的是 Qt 5.4.0

【问题讨论】:

    标签: qt qt-creator qwidget


    【解决方案1】:

    您需要重新实现小部件鼠标事件函数QWidget::mousePressEvent, QWidget::mouseReleaseEvent and QWidget::mouseMoveEvent,而不是使用QWidget::customContextMenuRequested。在这些事件中,您可以使用QMenu::popup 向您显示菜单。 (可以从鼠标事件中提取点)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-06
      • 1970-01-01
      • 2020-03-14
      • 2010-12-18
      相关资源
      最近更新 更多