gpt4 book ai didi

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

转载 作者:qq735679552 更新时间:2022-09-28 22:32:09 31 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章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 。

最后此篇关于pyside+pyqt实现鼠标右键菜单功能的文章就讲到这里了,如果你想了解更多关于pyside+pyqt实现鼠标右键菜单功能的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com