您的位置:首页 > 脚本大全 > > 正文

pyqt左侧菜单栏(pyside+pyqt实现鼠标右键菜单功能)

更多 时间:2022-01-21 00:12:04 类别:脚本大全 浏览量:2234

pyqt左侧菜单栏

pyside+pyqt实现鼠标右键菜单功能

本文为大家分享了pyside pyqt实现鼠标右键菜单功能的具体代码,供大家参考,具体内容如下

在三维软件中使用pyside/pyqt编写gui界面时,为了艺术家使用操作的简洁,以及方便,经常会使用鼠标右键菜单进行界面与功能的交互。下面就介绍一下这一功能,当然了网上也有很多案列可供参考。

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • # -*- 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_())
  • 简单的右键菜单就实现了,连接功能就学要按照需求进行添加。

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持开心学习网。

    原文链接:https://blog.csdn.net/qq_43471727/article/details/84637468