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 ORM框架SQLAlchemy学习笔记之安装和简单查询实例
Jun 10 Python
python使用logging模块发送邮件代码示例
Jan 18 Python
Django 连接sql server数据库的方法
Jun 30 Python
influx+grafana自定义python采集数据和一些坑的总结
Sep 17 Python
python实现对任意大小图片均匀切割的示例
Dec 05 Python
详解python 3.6 安装json 模块(simplejson)
Apr 02 Python
python 读取数据库并绘图的实例
Dec 03 Python
python 读取.nii格式图像实例
Jul 01 Python
Python合并pdf文件的工具
Jul 01 Python
Python中的datetime包与time包包和模块详情
Feb 28 Python
Python图像处理库PIL详细使用说明
Apr 06 Python
python中pycryto实现数据加密
Apr 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
php select,radio和checkbox默认选择的实现方法
2010/05/15 PHP
php实现读取超大文件的方法
2014/07/28 PHP
PHP实现将科学计数法转换为原始数字字符串的方法
2014/12/16 PHP
Django 中 cookie的使用
2017/08/17 PHP
TP5(thinkPHP5)框架基于ajax与后台数据交互操作简单示例
2018/09/03 PHP
PHP FileSystem 文件系统常用api整理总结
2019/07/12 PHP
javascript iframe内的函数调用实现方法
2009/07/19 Javascript
理解JavaScript的prototype属性
2012/02/11 Javascript
基于jquery的多功能软键盘插件
2012/07/25 Javascript
js动态删除div元素基本思路及实现代码
2014/05/08 Javascript
js实现的鼠标滚轮滚动切换页面效果(类似360默认页面滚动切换效果)
2016/01/27 Javascript
JS转换HTML转义符的方法
2016/08/24 Javascript
JQuery 动态生成Table表格实例代码
2016/12/02 Javascript
简单谈谈js的数据类型
2017/09/25 Javascript
JS验证输入的是否是数字及保留几位小数问题
2018/05/09 Javascript
详解ES6 Fetch API HTTP请求实用指南
2018/11/14 Javascript
详解Vue用cmd创建项目
2019/02/12 Javascript
五分钟搞懂Vuex实用知识(小结)
2019/08/12 Javascript
Element Alert警告的具体使用方法
2020/07/27 Javascript
vue设置全局访问接口API地址操作
2020/08/14 Javascript
Python实现微信公众平台自定义菜单实例
2015/03/20 Python
Python中遇到的小问题及解决方法汇总
2017/01/11 Python
python 生成器协程运算实例
2017/09/04 Python
Python 一句话生成字母表的方法
2019/01/02 Python
微信公众号token验证失败解决方案
2019/07/22 Python
pycharm 安装JPype的教程
2019/08/08 Python
python实现输入三角形边长自动作图求面积案例
2020/04/12 Python
咖啡为什么会有酸味?你喝到的咖啡為什麼是酸的?
2021/03/17 冲泡冲煮
css3 transform及原生js实现鼠标拖动3D立方体旋转
2016/06/20 HTML / CSS
IE10 Error.stack 让脚本调试更加方便快捷
2013/04/22 HTML / CSS
基于html5 DeviceOrientation 实现微信摇一摇功能
2015/09/25 HTML / CSS
命名空间(namespace)和程序集(Assembly)有什么区别
2015/09/25 面试题
行政求职信
2014/07/04 职场文书
中秋节寄语2015
2015/03/24 职场文书
2015年营销工作总结范文
2015/04/23 职场文书
聊聊CSS粘性定位sticky案例解析
2022/06/01 HTML / CSS