pyside+pyqt实现鼠标右键菜单功能


Posted in Python onDecember 08, 2020

本文为大家分享了pyside pyqt实现鼠标右键菜单功能的具体代码,供大家参考,具体内容如下

在三维软件中使用pyside/pyqt编写gui界面时,为了艺术家使用操作的简洁,以及方便,经常会使用鼠标右键菜单进行界面与功能的交互。下面就介绍一下这一功能,当然了网上也有很多案列可供参考。

# -*- encoding: utf-8 -*-
try:
 from PySide import QtGui 
 from PySide import QtCore
except ImportError:
 from PySide2 import QtWidgets as QtGui
 from PySide2 import QtCore
import sys
class MainWindow(QtGui.QMainWindow):
 def __init__(self):
 super(MainWindow, self).__init__()
 self.createContextMenu()

 def createContextMenu(self):
 ''''' 
 创建右键菜单 
 '''
 # 必须将ContextMenuPolicy设置为Qt.CustomContextMenu
 # 否则无法使用customContextMenuRequested信号
 self.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
 self.customContextMenuRequested.connect(self.showContextMenu)

 # 创建QMenu
 self.contextMenu = QtGui.QMenu(self)
 self.actionA = self.contextMenu.addAction(u'添加')
 self.actionB = self.contextMenu.addAction(u'删除')
 # 将动作与处理函数相关联
 # 这里为了简单,将所有action与同一个处理函数相关联,
 # 当然也可以将他们分别与不同函数关联,实现不同的功能
 self.actionA.triggered.connect(self.actionHandler)
 self.actionB.triggered.connect(self.actionHandler)

 def showContextMenu(self, pos):
 ''''' 
 右键点击时调用的函数 
 '''
 # 菜单显示前,将它移动到鼠标点击的位置
 self.contextMenu.move(QtGui.QCursor().pos())
 self.contextMenu.show()

 def actionHandler(self):
 ''''' 
 菜单中的具体action调用的函数 
 '''
 print 'action handler'

if __name__ == '__main__':
 app = QtGui.QApplication(sys.argv)
 window = MainWindow()
 window.show()
 sys.exit(app.exec_())

简单的右键菜单就实现了,连接功能就学要按照需求进行添加。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python简单获取数组元素个数的方法
Jul 13 Python
python3+dlib实现人脸识别和情绪分析
Apr 21 Python
Python对象属性自动更新操作示例
Jun 15 Python
Python get获取页面cookie代码实例
Sep 12 Python
python 自动重连wifi windows的方法
Dec 18 Python
解决Python找不到ssl模块问题 No module named _ssl的方法
Apr 29 Python
python 设置输出图像的像素大小方法
Jul 04 Python
Pandas 重塑(stack)和轴向旋转(pivot)的实现
Jul 22 Python
Python计算IV值的示例讲解
Feb 28 Python
python3 xpath和requests应用详解
Mar 06 Python
Python 存取npy格式数据实例
Jul 01 Python
Python3爬虫mitmproxy的安装步骤
Jul 29 Python
基于PyQt4和PySide实现输入对话框效果
Feb 27 #Python
python使用PyQt5的简单方法
Feb 27 #Python
Python创建字典的八种方式
Feb 27 #Python
基于wxPython的GUI实现输入对话框(2)
Feb 27 #Python
基于wxPython的GUI实现输入对话框(1)
Feb 27 #Python
Python使用字典的嵌套功能详解
Feb 27 #Python
Python list列表中删除多个重复元素操作示例
Feb 27 #Python
You might like
改德生G88 - 加装等响度低音提升电路
2021/03/02 无线电
天津市收音机工业发展史
2021/03/04 无线电
Zend Framework教程之MVC框架的Controller用法分析
2016/03/07 PHP
PHP封装XML和JSON格式数据接口操作示例
2019/03/06 PHP
腾讯与新浪的通过IP地址获取当前地理位置(省份)的接口
2010/07/26 Javascript
De facto standard 世界上不可思议的事实标准
2010/08/29 Javascript
windows系统下简单nodejs安装及环境配置
2013/01/08 NodeJs
js实现倒计时(距离结束还有)示例代码
2013/07/24 Javascript
nodejs教程之环境安装及运行
2014/11/21 NodeJs
浅析Node.js中的内存泄漏问题
2015/06/23 Javascript
实例详解jQuery表单验证插件validate
2016/01/18 Javascript
JavaScript模拟push
2016/03/06 Javascript
vue单页面打包文件大?首次加载慢?nginx带你飞,从7.5M到1.3M蜕变过程(推荐)
2018/01/16 Javascript
Angular 数据请求的实现方法
2018/05/07 Javascript
python连接mysql并提交mysql事务示例
2014/03/05 Python
Python构造函数及解构函数介绍
2015/02/26 Python
python脚本实现数据导出excel格式的简单方法(推荐)
2016/12/30 Python
浅谈python import引入不同路径下的模块
2017/07/11 Python
python利用有道翻译实现"语言翻译器"的功能实例
2017/11/14 Python
Python中xrange与yield的用法实例分析
2017/12/26 Python
python将txt等文件中的数据读为numpy数组的方法
2018/12/22 Python
Python不同目录间进行模块调用的实现方法
2019/01/29 Python
Python读取Pickle文件信息并计算与当前时间间隔的方法分析
2019/01/30 Python
Python学习笔记之Zip和Enumerate用法实例分析
2019/08/14 Python
Keras使用ImageNet上预训练的模型方式
2020/05/23 Python
怎样写演讲稿
2014/01/04 职场文书
办理暂住证介绍信
2014/01/11 职场文书
花店创业计划书范文
2014/02/07 职场文书
《雨点儿》教学反思
2014/04/14 职场文书
网页美工求职信范文
2014/04/17 职场文书
我爱我校演讲稿
2014/05/21 职场文书
2014年村支部书记四风对照检查材料思想汇报
2014/10/02 职场文书
邀请函样本
2015/02/02 职场文书
2015年医药代表工作总结
2015/04/25 职场文书
中学综治宣传月活动总结
2015/05/07 职场文书
Python基础详解之描述符
2021/04/28 Python