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的Django框架的运行方式及处理流程
Apr 08 Python
virtualenv实现多个版本Python共存
Aug 21 Python
深入理解Python中的*重复运算符
Oct 28 Python
python Pygame的具体使用讲解
Nov 03 Python
PyQt5实现下载进度条效果
Apr 19 Python
Python实现的银行系统模拟程序完整案例
Apr 12 Python
django的settings中设置中文支持的实现
Apr 28 Python
django admin组件使用方法详解
Jul 19 Python
python+OpenCV实现车牌号码识别
Nov 08 Python
python匿名函数lambda原理及实例解析
Feb 07 Python
keras做CNN的训练误差loss的下降操作
Jun 22 Python
Python如何爬取51cto数据并存入MySQL
Aug 25 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
获取远程文件大小的php函数
2010/01/11 PHP
php中使用exec,system等函数调用系统命令的方法(不建议使用,可导致安全问题)
2012/09/07 PHP
PHP中通过getopt解析GNU C风格命令行选项
2019/11/18 PHP
Jquery ajaxsubmit上传图片实现代码
2010/11/04 Javascript
JavaScript游戏之是男人就下100层代码打包
2010/11/08 Javascript
善用事件代理,警惕闭包的性能陷阱。
2011/01/20 Javascript
解析JSON对象与字符串之间的相互转换
2013/12/18 Javascript
JQuery中使用Ajax赋值给全局变量异常的解决方法
2014/01/10 Javascript
jQuery ui 利用 datepicker插件实现开始日期(minDate)和结束日期(maxDate)
2014/05/22 Javascript
JavaScript点击按钮后弹出透明浮动层的方法
2015/05/11 Javascript
JavaScript截断字符串的方法
2015/07/15 Javascript
JS绘制生成花瓣效果的方法
2015/08/05 Javascript
实例讲解jquery与json的结合
2016/01/07 Javascript
javascript每日必学之基础入门
2016/02/16 Javascript
JavaScript数据结构链表知识详解
2016/11/21 Javascript
详解jQuery事件
2017/01/13 Javascript
vue数据双向绑定原理解析(get & set)
2017/03/08 Javascript
推荐VSCode 上特别好用的 Vue 插件之vetur
2017/09/14 Javascript
EasyUI Tree树组件无限循环的解决方法
2017/09/27 Javascript
使用webpack搭建pixi.js开发环境
2020/02/12 Javascript
功能完善的小程序日历组件的实现
2020/03/31 Javascript
JavaScript实现刮刮乐效果
2020/11/01 Javascript
python检测服务器端口代码实例
2019/08/31 Python
Python笔试面试题小结
2019/09/07 Python
Django更新models数据库结构步骤
2020/04/01 Python
用 python 进行微信好友信息分析
2020/11/28 Python
YOINS官网:时尚女装网上购物
2017/03/17 全球购物
中文专业毕业生自荐书范文
2014/01/04 职场文书
给民警的表扬信
2014/01/08 职场文书
英文留学推荐信范文
2014/01/25 职场文书
网络编辑岗位职责范本
2014/02/10 职场文书
大学生创业计划书
2014/08/14 职场文书
学习实践科学发展观心得体会
2014/09/10 职场文书
2014年班级工作总结
2014/11/14 职场文书
Java如何实现通过键盘输入一个数组
2022/02/15 Java/Android
详解Python中的for循环
2022/04/30 Python