PYQT Pushbutton 右键菜单
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 右键菜单相关推荐
- PyQt5随笔:给PyQt5 界面添加右键菜单
1.前言 一个完整的界面程序怎么少得了右键菜单呢?如在浏览器的右键菜单 我做的右键菜单如下图,其包括:图标,选项名称,快捷键 图标可以在 https://www.iconfont.cn/co ...
- JS简单实现自定义右键菜单
今天来讲一个关于右键菜单的小demo,抛砖引玉. 首先,我们要用css和html做一个自定义右键菜单. <!--自定义右键菜单html代码--> <div id="menu ...
- vue右键自定义菜单_一款小巧的开源右键菜单管理软件
要说右键管理软件,果核上面目前收集了几款,例如年久失修的右键管家. 虽然很多年没有更新了,但是软件的功能却正常,日常删除多余的右键菜单没问题. 另外,就是火绒家的右键管家,基本功能也够用 不过嘛,今天 ...
- 安装ATi显卡驱动后增加的鼠标右键菜单的清理
一般最直接的方法是: 一般位于注册表的: 删除注册表HKEY_CLASSES_ROOT\Directory \Background\shellex\ContextMenuHandlers\ACE下 a ...
- 【Qt】菜单栏、工具栏、状态栏、右键菜单的实现
在QMainWidget基础上实现菜单栏.工具栏.状态栏.右键菜单. 头文件: #ifndef GWDEMO_H #define GWDEMO_H#include <QMainWindow> ...
- mac系统添加VSCode到右键菜单(转)
转自:https://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000/0014709690772 ...
- Cygwin-添加到右键菜单脚本--一键安装、卸载
平时习惯用一些linux命令来完成工作,在Windows上有cygwin和gitbash两个选择.这两个我都装了. 相对来说cygwin支持的功能更多一些,但是它没有默认绑定到右键菜单.为此,我想到用 ...
- 自定义html页面鼠标右键,javascript鼠标右键菜单自定义效果
本文实例讲解了javascript鼠标右键菜单的实现方法,分享给大家供大家参考,具体内容如下 效果图: 具体代码: #menu{ border:solid 1px gray; width:100px; ...
- JS--屏蔽浏览器右键菜单
//屏蔽浏览器右键菜单 if (window.Event) document.captureEvents(Event.MOUSEUP); function nocontex ...
最新文章
- VCTransitionsLibrary –自定义iOS交互式转场动画的库
- C# 如何转换生成长整型的时间
- [vue] 说下$attrs和$listeners的使用场景
- python读取与写入json+csv变成coco的json文件+安装labelme
- Linux虚拟化KVM-Qemu分析(十)之virtio驱动
- Hibernate学习笔记_核心幵发接口及三种对象状态
- django数据模型中关于on_delete的使用
- Linux 命令执行流程
- Java数据库编程技术 第三章习题
- 第三章:logback 的配置
- Node-red初级入门
- 利用matlab符号变量进行矩阵乘法公式推导
- 方差 标准差_总体、样本、总体方差、样本方差、抽样方差和标准误
- solr的copyFeild用法(改变各个feild的权重,修改打分结果)-注意!
- 素描头像的正确画法:掌握这三点就能把握绘画精髓~
- 车牌识别matlab,车牌识别matlab实现(蓝色车牌和新能源车牌)
- Web应用中设置欢迎页面
- JavaBean对象与jfinal的Record对象互转
- 数字电路的几种基本触发器
- 常见的预设分栏包括_智慧树知到青铜器类型学黑龙江联盟单元测试答案
热门文章
- ExpandableListView仿QQ好友列表
- 什么是Net5? 来自Net5(net core)的开场白
- 【原创】Oracle CEO 埃里森 耶鲁演讲 (网易博客搬迁至此)
- C#窗体使用按钮实现删除DataGridView选中行
- Python学习日记(二十六) 封装和几个装饰器函数
- I’ve Got Your Back(gammon)
- PDF加图片、文字水印(自动调整比例)
- 【机房】概要设计说明书
- android odex版本调试_android 基础-Dalvik ,ART,JIT,AOT,Dex,Odex
- hbase-site.xml 配置文件详解