Qt532.【转】Qt创建鼠标右键菜单
ZC:可以通过 设置 (QWebView*)->setContextMenuPolicy(NoContextMenu); 来关闭 QWebView的默认右键菜单
Qt创建鼠标右键菜单_疯华正茂_新浪博客.html(http://blog.sina.com.cn/s/blog_63d0ff2d0102vetz.html)
网页内容保存:
第一步:
QWidget及其子类都可有右键菜单,首先设置QWidget与右键菜单有关的函数setContextMenuPolicy()。
如设置QTreeView的相关函数为:this->ui.treeView->setContextMenuPolicy(Qt::CustomContextMenu);
Qt::ContextMenuPolicy枚举类型包括:Qt::DefaultContextMenu, Qt::NoContextMenu, Qt::PreventContextMenu, Qt::ActionsContextMenu, and Qt::CustomContextMenu,其中如果设置该类型为Qt::CustomContextMenu,则点击鼠标右键会发射信号customContextMenuRequested(const QPoint)。
第二步:
在头文件中声明右键关联的槽函数ShowMouseRightButton(const QPoint); 并且设置信号customContextMenuRequested(const QPoint)与该槽函数的关联,例如:connect(ui.treeView, SIGNAL(customContextMenuRequested(const QPoint)), this, SLOT(ShowMouseRightButton(const QPoint)));
第三步:
实现对应的右键关联的槽函数,如ShowMouseRightButton(const QPoint);
void ShowMouseRightButton(const QPoint& pos)
{
QMenu *qMenu = NULL;
if (qMenu)
{
delete qMenu;
qMenu = NULL;
}
qMenu = new QMenu(ui.treeView);
QAction* closePaneAction = new QAction("&Close",this);
connect(closePaneAction, SIGNAL(triggered()), this, SLOT(close()));
QAction* addTreeItemAction = new QAction("&AddItem", this);
connect(addTreeItemAction, SIGNAL(triggered()), this, SLOT(AddTreeItem()));
qMenu->addAction(closePaneAction);
qMenu->addAction(addTreeItemAction);
qMenu->exec(QCursor::pos()); //在鼠标点击的位置显示鼠标右键菜单
}
Z
Qt532.【转】Qt创建鼠标右键菜单的更多相关文章
- Qt creator 创建鼠标右键菜单 (不新建类)
界面 步骤 打开你的界面文件并选中你要添加右键的控件,选择“CustomContextMenu” 右键选择“转到槽...” -> customContextMenuRequested 插入下面代 ...
- 如何在C#添加鼠标右键菜单
C#添加鼠标右键方法步骤: 1 选中要添加右键功能的Form或者控件,打开控件的设计页面. 2 从工具箱中找到ContextMenuStrip控件,将这个控件拖曳到Form或者控件的设计页面上.这时系 ...
- OpenLayers 3 之 加入地图鼠标右键菜单
加入右键菜单,首先我们要监听鼠标右键点击的操作,我们知道鼠标右键事件名是 contextmenu.当鼠标在 html 元素之上,点击鼠标右键,便会触发 contextmenu 事件,在 context ...
- jQuery自定义Web页面鼠标右键菜单
jQuery自定义Web页面鼠标右键菜单 右键菜单是固定的,很多时候,我们需要自定义web页面自定义菜单,指定相应的功能. 自定义的原理是:jQuery封装了鼠标右键的点击事件(“contextmen ...
- 将EmEditor加入到鼠标右键菜单
在清理系统的时候,无意中将EmEditor的鼠标右键功能给清理掉了,在EmEditor的配置中又没有找到如何加入到鼠标右键菜单的方法,只好使用导入注册表功能了,以下的代码,拷贝到记事本中,保存为EmE ...
- JAVA GUI学习 - JPopupMenu鼠标右键菜单组件学习
public class JPopmenuKnow { public void test() { //为表格添加鼠标右键菜单 JMenuItem jMenuItemFileInfo = new JMe ...
- WinForm -- 为TextBox文本框添加鼠标右键菜单
WinForm -- 为TextBox文本框添加鼠标右键菜单 1. 新建一个WinForm项目,放置一个TextBox控件 2. 从工具箱拖进来一个ContextMenuStrip 3. 将TextB ...
- Jquery如何禁止鼠标右键菜单
jquery中使用contextmenu事件,如果返回true,则允许右键菜单:如果返回false,则禁止右键菜单 导入文件 <script type="text/javascript ...
- 将Sublime Text 添加到鼠标右键菜单的教程方法
安装notepad++软件,在菜单右键自动会添加“edit with notepad++"的选项,那么怎么将Sublime Text 添加到鼠标右键菜单呢?下面是我的操作过程,希望有帮助! ...
随机推荐
- ATM开学测试(未完成)
package ATM_design; //信1705-2 20173456 张浩 import java.util.*; import java.io.File; import java.io.Fi ...
- Struts2 概述
1. struts2应用在javaee三层结构中web层框架 2. struts2框架在struts1和webwork基础之上的发展全新的框架 3.struts2 解决的问题: 用户管理的crud操作 ...
- MyEclipse配置默认自带的XML代码格式化
1.XML中的注释保持原样,不格式化为一行(Join lInes)内
- innobackup stream 压缩备份,解压后的qp文件
是用innobackup stream 压缩备份,解压后很多文件还是qp格式的压缩文件,需要再解压. 备份: [root@ ~]# /usr/bin/innobackupex --defaults-f ...
- ELK学习笔记之简单适用的ES集群监控工具cerebro安装使用
安装指导及使用简介 1. 下载安装包: https://github.com/lmenezes/cerebro/releases/download/v0.7.3/cerebro-0.7.3. ...
- php 通过array_merge()和array+array合并数组的区别和效率比较
众所周知合并两个数组可以使用array_merge(),这是php提供的一个函数.另外还可以通过 array 的方式来合并数组,这两种直接有什么区别,哪一个的效率更高呢? array_merge() ...
- windows 10下oracle相关异常及处理方法
话说起来,不以oracle性能优化,数据库维护为主业已经有四五年了,这两年基本上以mysql为主. pl/sql登录后提示空白对话框.将ORACLE_HOME设置为oracle 11g的目录. IMP ...
- init: wait for '/dev/block/bootdevice/by-name/cache' timed out and took 5007ms【学习笔记】
平台信息:内核:4.9.112系统:android one平台:qcom sdm439 作者:庄泽彬(欢迎转载,请注明作者) 一.android设备在开机的时候打印了如下的log,由于系统使用了AB分 ...
- 何为TLC、MLC、SLC?【转】
本文转载自:https://blog.csdn.net/weixin_38233274/article/details/79310316 1.一块SSD由主控.DRAM缓存和NAND闪存三种芯片所组成 ...
- luogu P2486 [SDOI2011]染色
树剖做法: 就是两个dfs+一个线段树 难度的取决基本==线段树的维护难度 所以对有点线段树基础的,树剖也不难做吧 这里操作有二 一:两点间路径染色 线段树的区间赋值操作 二:查询路径段的个数 考虑线 ...