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 (1)
Oct 31 Python
举例讲解Python面相对象编程中对象的属性与类的方法
Jan 19 Python
python 判断参数为Nonetype类型或空的实例
Oct 30 Python
对pandas中iloc,loc取数据差别及按条件取值的方法详解
Nov 06 Python
python批量识别图片指定区域文字内容
Apr 30 Python
在Python函数中输入任意数量参数的实例
Jul 16 Python
python爬虫 批量下载zabbix文档代码实例
Aug 21 Python
Python搭建代理IP池实现获取IP的方法
Oct 27 Python
python requests模拟登陆github的实现方法
Dec 26 Python
详解基于Jupyter notebooks采用sklearn库实现多元回归方程编程
Mar 25 Python
Python连接Hadoop数据中遇到的各种坑(汇总)
Apr 14 Python
python 利用PyAutoGUI快速构建自动化操作脚本
May 31 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
解析使用ThinkPHP应该掌握的调试手段
2013/06/20 PHP
简单的php中文转拼音的实现代码
2014/02/11 PHP
PHP检测用户语言的方法
2015/06/15 PHP
PHP常见的6个错误提示及解决方法
2016/07/07 PHP
php字符串比较函数用法小结(strcmp,strcasecmp,strnatcmp及strnatcasecmp)
2016/07/18 PHP
PHP入门教程之字符串处理技巧总结(转换,过滤,解析,查找,截取,替换等)
2016/09/11 PHP
JQuery 前台切换网站的样式实现
2009/06/22 Javascript
js使用for循环及if语句判断多个一样的name
2014/09/09 Javascript
jQuery实现长按按钮触发事件的方法
2015/02/02 Javascript
jQuery使用removeClass方法删除元素指定Class的方法
2015/03/26 Javascript
js实现横向伸展开的二级导航菜单代码
2015/08/28 Javascript
JavaScript将base64图片转换成formData并通过AJAX提交的实现方法
2016/10/24 Javascript
Angular.js实现注册系统的实例详解
2016/12/18 Javascript
二维码图片生成器QRCode.js简单介绍
2017/08/18 Javascript
本地搭建微信小程序服务器的实现方法
2017/10/27 Javascript
百度地图去掉marker覆盖物或者去掉maker的label文字方法
2018/01/26 Javascript
如何使用less实现随机下雪动画详解
2019/01/02 Javascript
vue-for循环嵌套操作示例
2019/01/28 Javascript
Vue 实现从小到大的横向滑动效果详解
2019/10/16 Javascript
详解python的webrtc库实现语音端点检测
2017/05/31 Python
Python3 Random模块代码详解
2017/12/04 Python
使用Python编写Prometheus监控的方法
2018/10/15 Python
python爬虫简单的添加代理进行访问的实现代码
2019/04/04 Python
python仿抖音表白神器
2019/04/08 Python
手把手教你Python yLab的绘制折线图的画法
2019/10/23 Python
css3+jq创作含苞待放的荷花
2014/02/20 HTML / CSS
CAT鞋美国官网:CAT Footwear
2017/11/27 全球购物
校班主任推荐信范文
2013/12/03 职场文书
英文导游欢迎词
2014/01/11 职场文书
食堂个人先进事迹
2014/01/22 职场文书
两只小狮子教学反思
2014/02/05 职场文书
测量员岗位职责
2015/02/14 职场文书
综合办公室主任岗位职责
2015/04/01 职场文书
python中if和elif的区别介绍
2021/11/07 Python
java项目构建Gradle的使用教程
2022/03/24 Java/Android
Mysql中的触发器定义及语法介绍
2022/06/25 MySQL