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使用Flask框架同时上传多个文件的方法
Mar 21 Python
python处理二进制数据的方法
Jun 03 Python
深入理解python对json的操作总结
Jan 05 Python
Python之自动获取公网IP的实例讲解
Oct 01 Python
Python使用win32 COM实现Excel的写入与保存功能示例
May 03 Python
django query模块
Apr 20 Python
mac系统下Redis安装和使用步骤详解
Jul 09 Python
python运用pygame库实现双人弹球小游戏
Nov 25 Python
Python实现队列的方法示例小结【数组,链表】
Feb 22 Python
PyInstaller的安装和使用的详细步骤
Jun 02 Python
Pycharm生成可执行文件.exe的实现方法
Jun 02 Python
python迷宫问题深度优先遍历实例
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
第五节 克隆 [5]
2006/10/09 PHP
php下把数组保存为文件格式的实例应用
2010/02/08 PHP
php 仿Comsenz安装效果代码打包提供下载
2010/05/09 PHP
php join函数应用
2011/05/04 PHP
PHP实现一个轻量级容器的方法
2019/01/28 PHP
Laravel向公共模板赋值方法总结
2019/06/25 PHP
JS 页面内容搜索,类似于 Ctrl+F功能的实现代码
2007/08/13 Javascript
网页中的图片的处理方法与代码
2009/11/26 Javascript
js函数调用常用方法详解
2012/12/03 Javascript
快速解决jquery之get缓存问题的最简单方法介绍
2013/12/19 Javascript
JS 删除字符串最后一个字符的实现代码
2014/02/20 Javascript
jQuery中contents()方法用法实例
2015/01/08 Javascript
Jquery实现上下移动和排序代码
2016/10/17 Javascript
教你一步步用jQyery实现轮播器
2016/12/18 Javascript
Bootstrap 3 按钮标签实例代码
2017/02/21 Javascript
HTML5+jQuery实现搜索智能匹配功能
2017/03/24 jQuery
Vue中使用Sortable的示例代码
2018/04/07 Javascript
关于vue-router的那些事儿
2018/05/23 Javascript
如何进行微信公众号开发的本地调试的方法
2019/06/16 Javascript
vue中keep-alive内置组件缓存的实例代码
2020/04/16 Javascript
vue打开其他项目页面并传入数据详解
2020/11/25 Vue.js
Python多线程编程(五):死锁的形成
2015/04/05 Python
Python tkinter模块中类继承的三种方式分析
2017/08/08 Python
Python Numpy 数组的初始化和基本操作
2018/03/13 Python
Python subprocess模块功能与常见用法实例详解
2018/06/28 Python
TensorFlow tensor的拼接实例
2020/01/19 Python
Ubuntu 20.04安装Pycharm2020.2及锁定到任务栏的问题(小白级操作)
2020/10/29 Python
迟到检讨书900字
2014/01/14 职场文书
团队精神口号
2014/06/06 职场文书
2014最新房贷收入证明范本
2014/09/12 职场文书
2015年乡镇残联工作总结
2015/05/13 职场文书
同学会演讲稿
2019/04/02 职场文书
2019个人工作总结
2019/06/21 职场文书
用javascript制作qq注册动态页面
2021/04/14 Javascript
SpringAop日志找不到方法的处理
2021/06/21 Java/Android
CDPR谈《巫师》新作用虚幻5原因 称不会为Epic独占
2022/04/06 其他游戏