如何在 QWidget 窗口上弹出右键菜单
2014-03-11 13:17
330 查看
Title:
QWidget
窗口上弹出右键菜单的两个方法
Solution1:
给一个QWidget添加QActions,设置[b]QWidget的contextMenuPolicy属性为Qt::ActionsContextMenu值,使得窗口菜单以这些添加的QActions为菜单项组成一个右键菜单。[/b]
[/code]
[/code]
[/code]
[/code]
效果:
QWidget
窗口上弹出右键菜单的两个方法
Solution1:
给一个QWidget添加QActions,设置[b]QWidget的contextMenuPolicy属性为Qt::ActionsContextMenu值,使得窗口菜单以这些添加的QActions为菜单项组成一个右键菜单。[/b]
[code] [code]MyWidget::MyWidget(QWidget*parent)
:QWidget(parent)
{
setWindowTitle(tr("ContextMenuShow1"));
//为窗口添加QActions
addAction(newQAction(tr("&Open"),this));
addAction(newQAction(QIcon(":/images/mark.png"),tr("&Mark"),this));
addAction(newQAction(tr("&Quit"),this));
//设置contextMenuPolicy属性值为'以Actions为弹出菜单的菜单项组成菜单'
setContextMenuPolicy(Qt::ActionsContextMenu);
}
[/code]
[/code]
[code]MyWidget::MyWidget(QWidget*parent)
:QWidget(parent)
{
setWindowTitle(tr("ContextMenuShow2"));
setContextMenuPolicy(Qt::DefaultContextMenu);//其实不用设置,默认就是这个值
}
voidMyWidget::contextMenuEvent(QContextMenuEvent*event)
{
QMenu*menu=newQMenu(this);
menu->addAction(newQAction(tr("&Open"),menu));
menu->addAction(newQAction(QIcon(":/images/mark.png"),tr("&Mark"),menu));
menu->addAction(newQAction(tr("&Quit"),menu));
menu->move(cursor().pos());//让菜单显示的位置在鼠标的坐标上
menu->show();
}
[/code]
[/code]
效果:
相关文章推荐
- 在QWidget 窗口上弹出右键菜单
- 如何判断JTable上右键点击所在行并弹出菜单
- 如何在list控件中响应右键弹出菜单中的菜单事件
- 如何修改Pop-menu(右键弹出的菜单)的内容(Caption)
- 如何从右键弹出菜单中清空删除数据加清空前提问确定
- MFC中如何添右键弹出菜单
- MFC中如何添右键弹出菜单
- 如何修改右键弹出的菜单的内容
- 如何在 QWidget 窗口上弹出右键菜单
- 如何右键弹出菜单中批量修改月份
- ArcGIS API for Silverlight开发中鼠标左键点击地图上的点弹出窗口及右键点击弹出快捷菜单的实现代码
- 如何修改Pop-menu(右键弹出的菜单)的内容(Caption)
- 如何解决桌面右键菜单弹出慢的问题
- 搞清了两个问题: 查询TCP端口状态 以及 如何弹出右键菜单
- QTreeview和Qwidget右键菜单的弹出
- 【CefSharp】 禁用右键菜单 与 控制弹出窗口的方式(限版本39.0.0.1)
- 笔记:如何让wpf中disabled的控件弹出右键菜单
- 桌面点击右键,菜单向左弹出,如何改为向右弹出菜单
- WPF 如何控制右键菜单ContextMenu的弹出
- vc++ 如何添加右键弹出菜单