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中的一些类型转换函数小结
Feb 10 Python
python正则表达式中的括号匹配问题
Dec 14 Python
Python中运行并行任务技巧
Feb 26 Python
python实现内存监控系统
Mar 07 Python
pandas读取csv文件,分隔符参数sep的实例
Dec 12 Python
使用Python向DataFrame中指定位置添加一列或多列的方法
Jan 29 Python
Django models.py应用实现过程详解
Jul 29 Python
python读取word 中指定位置的表格及表格数据
Oct 23 Python
python日期与时间戳的各种转换示例
Feb 12 Python
Python读取文件内容为字符串的方法(多种方法详解)
Mar 04 Python
详解Pymongo常用查询方法总结
Jan 29 Python
Python pygame实现中国象棋单机版源码
Jun 20 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实现WEB动态网页静态
2006/10/09 PHP
php实现的遍历文件夹下所有文件,编辑删除
2010/01/05 PHP
2个比较经典的PHP加密解密函数分享
2014/07/01 PHP
php防止网站被攻击的应急代码
2015/10/21 PHP
浅谈PHP检查数组中是否存在某个值 in_array 函数
2016/06/13 PHP
Ajax中的JSON格式与php传输过程全面解析
2017/11/14 PHP
PHP函数按引用传递参数及函数可选参数用法示例
2018/06/04 PHP
PHP利用pdo_odbc实现连接数据库示例【基于ThinkPHP5.1搭建的项目】
2019/05/13 PHP
一段好玩的JavaScript代码
2006/12/01 Javascript
jQuery select控制插件
2009/08/17 Javascript
jQuery 三击事件实现代码
2013/09/11 Javascript
Flexigrid在IE下不显示数据的处理的解决方法
2013/10/24 Javascript
javascript中解析四则运算表达式的算法和示例
2014/08/11 Javascript
jquery采用oop模式class类的使用示例
2016/01/22 Javascript
AngularJS数据源的多种获取方式汇总
2016/02/02 Javascript
JS实现六位字符密码输入器功能
2016/08/19 Javascript
JavaScript学习笔记之DOM操作实例分析
2019/01/08 Javascript
JS实现躲避粒子小游戏
2020/06/18 Javascript
Python通过命令开启http.server服务器的方法
2017/11/04 Python
python生成器,可迭代对象,迭代器区别和联系
2018/02/04 Python
python3.4爬虫demo
2019/01/22 Python
pyqt 实现为长内容添加滑轮 scrollArea
2019/06/19 Python
Python 获取 datax 执行结果保存到数据库的方法
2019/07/11 Python
django admin组件使用方法详解
2019/07/19 Python
Python 读取xml数据,cv2裁剪图片实例
2020/03/10 Python
如何解决python多种版本冲突问题
2020/10/13 Python
详解移动端html5页面长按实现高亮全选文本内容的兼容解决方案
2016/12/03 HTML / CSS
Sephora丝芙兰马来西亚官方网站:国际化妆品购物
2018/03/15 全球购物
业务经理的岗位职责
2013/11/16 职场文书
校庆筹备方案
2014/03/30 职场文书
地球物理学专业推荐信
2014/09/08 职场文书
车辆转让协议书
2014/09/24 职场文书
人事聘任通知
2015/04/21 职场文书
中秋晚会致辞
2015/07/31 职场文书
Apache压力测试工具的安装使用
2021/03/31 Servers
CSS几步实现赛博朋克2077风格视觉效果
2021/06/16 HTML / CSS