1、右键菜单创建和显示
作为一种交互性强、使用方便的右键菜单在程序中是非常常用的,在Qt中可以轻松的实现。
QMenu menu;
//添加菜单项,指定图标、名称、响应函数
menu.addAction(QIcon("1.png"), QStringLiteral("添加"),this,SLOT(OnBscGroupRightAction()));
//在鼠标位置显示
menu.exec(QCursor::pos());
2、右键菜单关联控件
QWidget及其子类都可有右键菜单,首先设置QWidget与右键菜单有关的函数setContextMenuPolicy(),属性对应项为contextmenuPolicy。
setContextMenuPolicy函数的参数为枚举类型Qt::ContextMenuPolicy,qt帮助文档中有相应介绍:
a、Qt::DefaultContextMenu
默认是Qt::DefaultContextMenu,它是利用右键菜单事件contextMenuEvent()来处理(which means the contextMenuEvent() handler is called)。就是要重写contextMenuEvent( QContextMenuEvent * event )函数。
你可以通过UI属性来设置: