Demo共两个文件:

演示为pushbutton添加右键菜单。

mybutton.py 文件

# -*- coding: utf-8 -*-
from PyQt5.QtGui  import *
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *class MenuButton(QPushButton):def __init__(self,parent = None):super(MenuButton,self).__init__(parent)self.createContextMenu()  def createContextMenu(self):  # 创建右键菜单 # 必须将ContextMenuPolicy设置为Qt.CustomContextMenu  # 否则无法使用customContextMenuRequested信号  self.setContextMenuPolicy(Qt.CustomContextMenu)  self.customContextMenuRequested.connect(self.showContextMenu) # 创建QMenuself.contextMenu = QMenu(self)  self.actionA = self.contextMenu.addAction('动作A')  self.actionB = self.contextMenu.addAction('动作B')  self.actionC = self.contextMenu.addAction('动作C') #添加二级菜单self.second = self.contextMenu.addMenu("二级菜单") self.actionD = self.second.addAction('动作A')self.actionE = self.second.addAction('动作B')self.actionF = self.second.addAction('动作C')# 将动作与处理函数相关联  self.actionA.triggered.connect(self.actionHandler)  self.actionB.triggered.connect(self.actionHandler)  self.actionC.triggered.connect(self.actionHandler) self.actionD.triggered.connect(self.actionHandler)  self.actionE.triggered.connect(self.actionHandler)  self.actionF.triggered.connect(self.actionHandler)   def showContextMenu(self, pos):  # 右键点击时调用的函数 # 菜单显示前,将它移动到鼠标点击的位置  self.contextMenu.exec_(QCursor.pos()) #在鼠标位置显示def actionHandler(self):  # 菜单中的具体action调用的函数 print("actionHandler")def mousePressEvent(self, event):# 鼠标按下print("mousePressEvent")QPushButton.mousePressEvent(self,event)def mouseReleaseEvent(self, event):# 鼠标松开print("mouseReleaseEvent")QPushButton.mouseReleaseEvent(self,event)

buttontest.py 文件

# -*- coding: utf-8 -*-
import sys
from mybutton import MenuButton
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *app=QApplication(sys.argv)# 500*500大小的窗口
myWind = QWidget()
myWind.resize(500,500)# 新建一个button
but1 = MenuButton()
but1.setGeometry(200,200,100,50)
but1.setText("点我有菜单")
but1.setParent(myWind)# 显示窗口
myWind.show()
app.exec_()

效果展示:

PYQT Pushbutton 右键菜单相关推荐

  1. PyQt5随笔:给PyQt5 界面添加右键菜单

    1.前言 一个完整的界面程序怎么少得了右键菜单呢?如在浏览器的右键菜单 我做的右键菜单如下图,其包括:图标,选项名称,快捷键 图标可以在      https://www.iconfont.cn/co ...

  2. JS简单实现自定义右键菜单

    今天来讲一个关于右键菜单的小demo,抛砖引玉. 首先,我们要用css和html做一个自定义右键菜单. <!--自定义右键菜单html代码--> <div id="menu ...

  3. vue右键自定义菜单_一款小巧的开源右键菜单管理软件

    要说右键管理软件,果核上面目前收集了几款,例如年久失修的右键管家. 虽然很多年没有更新了,但是软件的功能却正常,日常删除多余的右键菜单没问题. 另外,就是火绒家的右键管家,基本功能也够用 不过嘛,今天 ...

  4. 安装ATi显卡驱动后增加的鼠标右键菜单的清理

    一般最直接的方法是: 一般位于注册表的: 删除注册表HKEY_CLASSES_ROOT\Directory \Background\shellex\ContextMenuHandlers\ACE下 a ...

  5. 【Qt】菜单栏、工具栏、状态栏、右键菜单的实现

    在QMainWidget基础上实现菜单栏.工具栏.状态栏.右键菜单. 头文件: #ifndef GWDEMO_H #define GWDEMO_H#include <QMainWindow> ...

  6. mac系统添加VSCode到右键菜单(转)

    转自:https://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000/0014709690772 ...

  7. Cygwin-添加到右键菜单脚本--一键安装、卸载

    平时习惯用一些linux命令来完成工作,在Windows上有cygwin和gitbash两个选择.这两个我都装了. 相对来说cygwin支持的功能更多一些,但是它没有默认绑定到右键菜单.为此,我想到用 ...

  8. 自定义html页面鼠标右键,javascript鼠标右键菜单自定义效果

    本文实例讲解了javascript鼠标右键菜单的实现方法,分享给大家供大家参考,具体内容如下 效果图: 具体代码: #menu{ border:solid 1px gray; width:100px; ...

  9. JS--屏蔽浏览器右键菜单

    //屏蔽浏览器右键菜单     if (window.Event)      document.captureEvents(Event.MOUSEUP);      function nocontex ...

最新文章

  1. VCTransitionsLibrary –自定义iOS交互式转场动画的库
  2. C# 如何转换生成长整型的时间
  3. [vue] 说下$attrs和$listeners的使用场景
  4. python读取与写入json+csv变成coco的json文件+安装labelme
  5. Linux虚拟化KVM-Qemu分析(十)之virtio驱动
  6. Hibernate学习笔记_核心幵发接口及三种对象状态
  7. django数据模型中关于on_delete的使用
  8. Linux 命令执行流程
  9. Java数据库编程技术 第三章习题
  10. 第三章:logback 的配置
  11. Node-red初级入门
  12. 利用matlab符号变量进行矩阵乘法公式推导
  13. 方差 标准差_总体、样本、总体方差、样本方差、抽样方差和标准误
  14. solr的copyFeild用法(改变各个feild的权重,修改打分结果)-注意!
  15. 素描头像的正确画法:掌握这三点就能把握绘画精髓~
  16. 车牌识别matlab,车牌识别matlab实现(蓝色车牌和新能源车牌)
  17. Web应用中设置欢迎页面
  18. JavaBean对象与jfinal的Record对象互转
  19. 数字电路的几种基本触发器
  20. 常见的预设分栏包括_智慧树知到青铜器类型学黑龙江联盟单元测试答案

热门文章

  1. ExpandableListView仿QQ好友列表
  2. 什么是Net5? 来自Net5(net core)的开场白
  3. 【原创】Oracle CEO 埃里森 耶鲁演讲 (网易博客搬迁至此)
  4. C#窗体使用按钮实现删除DataGridView选中行
  5. Python学习日记(二十六) 封装和几个装饰器函数
  6. I’ve Got Your Back(gammon)
  7. PDF加图片、文字水印(自动调整比例)
  8. 【机房】概要设计说明书
  9. android odex版本调试_android 基础-Dalvik ,ART,JIT,AOT,Dex,Odex
  10. hbase-site.xml 配置文件详解