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提取页面内url列表的方法
May 25 Python
python使用matplotlib绘制柱状图教程
Feb 08 Python
Python 实现数据库(SQL)更新脚本的生成方法
Jul 09 Python
python skimage 连通性区域检测方法
Jun 21 Python
Python3匿名函数用法示例
Jul 25 Python
python 实现A*算法的示例代码
Aug 13 Python
Python实现的连接mssql数据库操作示例
Aug 17 Python
对Python w和w+权限的区别详解
Jan 23 Python
详解centos7+django+python3+mysql+阿里云部署项目全流程
Nov 15 Python
pytorch 利用lstm做mnist手写数字识别分类的实例
Jan 10 Python
解决Pytorch自定义层出现多Variable共享内存错误问题
Jun 28 Python
Jupyter Notebook 如何修改字体和大小以及更改字体样式
Jun 03 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验证终端类型是否为手机的简单实例
2017/02/07 PHP
javascript 冒泡排序 正序和倒序实现代码
2010/12/14 Javascript
jQuery操作select的实例代码
2012/06/14 Javascript
JavaScript中原型和原型链详解
2015/02/11 Javascript
JS实现在线统计一个页面内鼠标点击次数的方法
2015/02/28 Javascript
在WordPress中加入Google搜索功能的简单步骤讲解
2016/01/04 Javascript
javascript自动切换焦点控制效果完整实例
2016/02/02 Javascript
深入解析Javascript闭包的功能及实现方法
2016/07/10 Javascript
Nodejs从有门道无门菜鸟起飞必看教程
2016/07/20 NodeJs
ECMAScript6 新特性范例大全
2017/03/24 Javascript
js仿微信公众平台打标签功能
2017/04/08 Javascript
深入解析js轮播插件核心代码的实现过程
2017/04/14 Javascript
浅谈vue-lazyload实现的详细过程
2017/08/22 Javascript
vue的mixins属性详解
2018/03/14 Javascript
新版vue-cli模板下本地开发环境使用node服务器跨域的方法
2018/04/03 Javascript
Vue使用axios出现options请求方法
2019/05/30 Javascript
详解mpvue开发微信小程序基础知识
2019/09/23 Javascript
vue基于better-scroll仿京东分类列表
2020/06/30 Javascript
详解React的回调渲染模式
2020/09/10 Javascript
[02:18]DOTA2英雄基础教程 育母蜘蛛
2014/01/20 DOTA
Python Matplotlib 基于networkx画关系网络图
2019/07/10 Python
Python爬虫抓取技术的一些经验
2019/07/12 Python
Pytorch 实现focal_loss 多类别和二分类示例
2020/01/14 Python
python新式类和经典类的区别实例分析
2020/03/23 Python
拓展培训心得体会
2014/01/04 职场文书
2014新课程改革心得体会
2014/03/10 职场文书
竞选学生会演讲稿
2014/04/25 职场文书
2014大学生党员评议个人总结
2014/09/22 职场文书
工厂见习报告范文
2014/10/31 职场文书
客房部经理岗位职责
2015/02/02 职场文书
涪陵白鹤梁导游词
2015/02/09 职场文书
2016年国庆节新闻稿范文
2015/11/25 职场文书
2016秋季田径运动会广播稿
2015/12/21 职场文书
PyCharm 安装与使用配置教程(windows,mac通用)
2021/05/12 Python
浅谈tf.train.Saver()与tf.train.import_meta_graph的要点
2021/05/26 Python
关于JS中的作用域中的问题思考分享
2022/04/06 Javascript