引言

给窗口创建右键菜单,右键的时候,右键菜单出现在鼠标点击处。同时设置右键菜单的样式,右键菜单为圆角,起初设置样式的时候,右键菜单的背景在圆角边缘会出现黑色的方角,不能很好的显示为圆角,后来设置了右键菜单无标题栏,背景透明和固定大小后可以了。

实现

void LayoutListWidget::createRightMenu()
{m_menu = new QMenu(this);m_actionDel = new QAction(QStringLiteral("删除"),m_menu);m_menu->addAction(m_actionDel);m_actionModifyName = new QAction(QStringLiteral("修改名称"),m_menu);m_menu->addAction(m_actionModifyName);m_actionSceneLinkage = new QAction(QStringLiteral("场景联动"),m_menu);m_menu->addAction(m_actionSceneLinkage);//保存创建的右键菜单,初始所有的都没有显示
//    m_isDisplayRightMenu.insert(m_menu,false);setRightMenuStyle();
}
void LayoutListWidget::setRightMenuStyle()
{m_menu->setWindowFlag(Qt::FramelessWindowHint);m_menu->setAttribute(Qt::WA_TranslucentBackground);//菜单圆角QString styleSheet;styleSheet.append("QMenu{font-size: 18px;font-family: Microsoft YaHei;""font-weight: 400;color: #FFFFFF;border-radius: 10px;""background-color: rgb(8, 7, 91);border: 1px solid #01B5EF;}""QMenu::item{width:178px;height:40px;""padding-left:28px;margin-top:25px;}"//设置与上边框界限的距离"QMenu::item:selected{background-color: #01E4EE;}");m_menu->setFixedSize(180,210);m_menu->setStyleSheet(styleSheet);
}
void LayoutListWidget::on_LayoutListWidget_customContextMenuRequested(const QPoint &pos)
{Q_UNUSED(pos);if (m_menu != nullptr && m_delId != 0) {m_menu->exec(QCursor::pos());//右键菜单在点击点位置}
}

上述代码实现了右键菜单的创建,样式的设置,以及点击右键的时候使右键菜单出现在鼠标点击处。

重点

1.右键菜单的样式为圆角,需要在设置样式前先设置右键菜单的没有标题,背景透明,固定大小;
2.右键菜单出现在鼠标右键点击处,使用自带的槽函数customContextMenuRequested(const QPoint &pos)。

qt创建右键菜单,显示在鼠标点击处相关推荐

  1. matlab无法右键,GUI右键菜单不能在鼠标右键的位置显示

    罗老师,你好.我按照您书中第六章例子6.3.3编写了一个可以读取图片,读取图片后对图片做放大和移动的gui.我看到您使用get得到鼠标位置后就可以设置GUI右键菜单的位置,从而实现点击鼠标右键就可以在 ...

  2. 右键菜单显示项的可见度控制 c# 1614605595

    右键菜单显示项的可见度控制 c# 1614605595 右键菜单情况 运行效果 让0号项目不可见 效果

  3. CAD二次开发C#.Net编程-CAD创建右键菜单

    CAD二次开发&C#.Net编程-CAD创建右键菜单 private static ContextMenuExtension m_ContextMenu;//装载右键菜单public stat ...

  4. JS实现鼠标点击处烟花爆炸效果

    JS实现鼠标点击处烟花爆炸效果(面向对象版) 程序由网上开源"JS实现放烟花效果"代码改编,实现在鼠标点击处出现烟花爆炸效果. 改编前 源码link https://github. ...

  5. Qt创建右键快捷菜单无法触发customContextMenuRequested()信号

    在为listWidget组件添加右键快捷菜单时,已经编写了信号customContextMenuRequested()的响应槽函数,但是在该组件上点击右键并没有触发该信号 原因在于没有添加右键菜单策略 ...

  6. 跟我一起玩Win32开发(6):创建右键菜单

    快捷菜单,说得容易理解一点,就是右键菜单,当我们在某个区域内单击鼠标右键,会弹出一些菜单项.这种类型的菜单,是随处可见的,我们在桌面上右击一下,也会弹出一个菜单. 右键菜单的好处就是方便,它经常和我们 ...

  7. html右键菜单背景图片,鼠标右键的普通背景怎么更换为漂亮的菜单背景?

    当我们使用鼠标右键菜单的时候都只是单调的灰白色而已,那么想不想为你的鼠标右键菜单背景也设置一个自己喜欢的背景呢?下面教大家一个方法.怎样将鼠标右键的普通背景更换为漂亮的图片. 工具/原料 文件资源修改 ...

  8. Directory Opus12.6在win11下右键菜单显示问题

    问题情况描述 Directory Opus是一个强大的文件管理软件,但其旧版本在win11(Windows 11 家庭版 21H2 22000.739)下存在一些问题. 对于图片.视频的右键菜单出现错 ...

  9. 在WPF中弹出右键菜单时判断鼠标是否选中该项

    和上篇在WPF的TreeView中实现右键选定一样,这仍然是一个右键菜单的问题: 这个需求是在一个实现剪贴板的功能的时候遇到的:在弹出右键菜单时,如果菜单弹出位置在ListViewItem中时,我们认 ...

最新文章

  1. 浅析中科红旗的生与死
  2. IT公司100题-10-翻转句子中单词的顺序
  3. 关于HTML头二行文字的解释
  4. hdu oj1093题解
  5. MFC添加自定义消息及重写消息过程
  6. 利用Skywalking-netcore监控你的应用性能
  7. 互联网晚报 | 3月21日 星期一 |​ 科大讯飞5亿成立科技新公司;新能源车企称采购宁德时代电池成本上涨两万元...
  8. Python数据分析库pandas高级接口dt和str的使用
  9. linux 命令-全称
  10. 寒假CF1 C-龟龟
  11. 服装免费收银系统哪个好-云上铺会员管理软件
  12. 【引用】男人爱你的三个细节
  13. Monitor模式和AP模式下获取WiFi的CSI信号
  14. Unix/Linux编程:exec()族函数
  15. QT VS2019 OpenCV yolo4 摄像头识别人脸
  16. 谷歌浏览器突然翻译不了怎么办?
  17. vite2 antD 动态切换主题
  18. 四 【java基础】 程序流程控制- 分支结构
  19. 双线路带宽叠加后,指定网站走指定线路!
  20. 使用AWS MVP方案[Data Transfer Hub]从Global S3同步文件到中国区S3

热门文章

  1. 阿里云超算异构Spot集群,助力深势科技30%成本驱动MDaaS海量算力
  2. 淘宝直播在冲刺最复杂的人工智能技术!
  3. 下一代云原生应用制品管理平台,容器镜像服务企业版优惠进行时
  4. 深度学习文本分类在支付宝投诉文本模型上的应用
  5. Cloudera发布全球企业数据成熟度报告,混合云趋势中有效数据战略是关键
  6. 像搭“乐高”一样实现整合式网络安全体系
  7. Gartner预测:芯片短缺,十大汽车主机厂未来一半都将自主设计芯片
  8. Alluxio完成C轮5000万美元融资,新设中国区总部力拓国内市场
  9. Mendix发布全球低代码报告,中国软件与低代码发展远超全球
  10. unity三维地图的经纬度如何在二维地图上表示_接入C++版本recastnavigation寻路库到Unity/服务端中...