我的自定义小部件继承自QWidget,我已将小部件的菜单调用信号连接到我的插槽。
connect(m_ontologyView, SIGNAL(customContextMenuRequested(QPoint)), SLOT(showContextMenuSlot(QPoint)));
现在我希望用户能够更改调用上下文菜单的按钮。通常用鼠标右键调用它,但是如何告诉小部件用我选择的按钮调用菜单?
我在Qt 5.4.0
答案 0 :(得分:1)
您需要重新实现小部件鼠标事件函数QWidget::customContextMenuRequested
,而不是使用QWidget::mousePressEvent, QWidget::mouseReleaseEvent and QWidget::mouseMoveEvent
。在这些活动中,您可以使用QMenu::popup
向您显示菜单。 (可以从鼠标事件中提取该点。)