Qt编程之对QGraphicsItem点击右键弹出菜单

就是对这个contextMenuEvent 事件重新实现,在这个事件函数中创建菜单,大概就是这样。

 1 void MyItem::contextMenuEvent(QGraphicsSceneContextMenuEvent *event)
 2 {
 3     QMenu *menu = new QMenu;
 4     menu->addAction("Action 1");
 5     menu->addAction("Action 2");
 6     menu->popup(event->screenPos());
 7
 8     connect(menu, SIGNAL(triggered(QAction *)),
 9                  object, SLOT(triggered(QAction *)));
10 }

referrences:

http://www.qtcentre.org/threads/5187-Popup-menu-for-a-QGraphicsItem

http://stackoverflow.com/questions/19868383/how-to-handle-right-mouse-click-event-for-qgraphicsitem

时间: 2024-10-26 03:20:43

Qt编程之对QGraphicsItem点击右键弹出菜单的相关文章

js+css实现带缓冲效果右键弹出菜单

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Typ

关于MFC主菜单和右键弹出菜单

一.主菜单.弹出菜单和右键菜单的概念: 主菜单是窗口顶部的菜单,一个窗口或对话框只能有一个主菜单,但是主菜单可以被更改(SetMenu()更改): 创建方式:CMenu::CreateMenu(void); 弹出菜单在菜单项中是带有右向小三角的菜单,主菜单的每个菜单项都是一个弹出菜单(PopMenu),因此弹出菜单是凸型或左凸型: 创建方式:CMenu::CreatePopMenu(void); 右键菜单是点击右键弹出的菜单(响应OnContextMenu). 原文地址:https://www.

Vue2的右键弹出菜单(vue-contextmenu)

给大家推荐一个基于Vue2的右键弹出菜单插件,支持单一SPA页面以及可以在循环绑定中使用. 项目地址为:https://github.com/chIIC/vue-...demo1: 父组件绑定右键事件的效果: demo2:列表循环绑定,识别当前点击对象: 原文地址:https://www.cnblogs.com/10manongit/p/12219408.html

创建右键弹出菜单

①.添加一个菜单资源,ID为IDM_RIGHTMENU.因为在显示右键菜单时顶级菜单是不显示的,所以可以给它设置任意文本. ②.给视类添加WM_RBUTTONDOWN消息,在该消息中处理右键弹出菜单.因为视类窗口始终覆盖在框架窗口之上,框架窗口接收不到鼠标消息,所以由视类捕获WM_RBUTTONDOWN消息. void CMenuView::OnRButtonDown(UINT nFlags, CPoint point) { // TODO: 在此添加消息处理程序代码和/或调用默认值 CMenu

MFC右键弹出菜单

右键弹出菜单是指右键抬起的时候弹出的菜单.通常放置在Dialog的OnRButtonUp响应函数里. 下面就给出右键弹出菜单的实例: 1 添加右键事件及响应函数 可以用Class Wizard...来添加一个右键消息WM_RBUTTONUP,为其添加Handler,会自动生成OnRButtonUp响应函数 2 为弹出菜单添加资源 可以用"Resource View"中的"String Table"添加一个新的弹出菜单资源,这里假设资源ID : IDC_MENU_UP

修改右键弹出菜单的字体大小

如果要修改右键弹出菜单的大小. 先设置Screen->MenuFont->Size = 30; 你希望设置的字体大小 然后将 PopMenu的OwnerDraw属性设置为true 然后设置每个菜单项(TMenuItem)的OnMeasureItem 事件过程,设置菜单项的高度. 下面是实例代码 //--------------------------------------------------------------------------- #include <vcl.h>

vc++ 如何添加右键弹出菜单

一.创建新工程 二.编辑菜单资源 1.添加菜单 按"Ctrl+R",双击"Menu"图标 2.于菜单编辑器内编辑菜单 四.添加代码(红色部分) void CCMenuView::OnUpdateShow(CCmdUI* pCmdUI) { // TODO: Add your command update UI handler code here MessageBox("右键弹出菜单测试!"); } void CCMenuView::OnRButt

禁止右键弹出菜单

<script src="../public/js/jquery-1.8.3.js"></script> <title>禁止右键单击上下文菜单</title> <script type="text/javascript"> $(function(){ $(document).bind("contextmenu",function(e){ $("textarea").h

PyQt5 QLabel自定义右键弹出菜单

from PyQt5.QtWidgets import * from PyQt5.QtCore import * from PyQt5.QtGui import * import sys class MyLabel(QLabel): def __init__(self, *args, **kw): super().__init__(*args, **kw) self.setContextMenuPolicy(Qt.CustomContextMenu) self.customContextMenu