python PyQt5/Pyside2 按钮右击菜单实例代码

yipeiwu_com6年前Python基础

具体代码如下所述:

import sys
from PySide2.QtGui import *
from PySide2.QtCore import *
from PySide2.QtWidgets import *
class MainForm(QMainWindow):
  def __init__(self, parent=None):
    super(MainForm, self).__init__(parent)
    # create button
    self.button = QPushButton("test button", self)    
    self.button.resize(100, 30)
    # set button context menu policy
    self.button.setContextMenuPolicy(Qt.CustomContextMenu)
    self.button.customContextMenuRequested.connect(self.on_context_menu)
    # create context menu
    self.popMenu = QMenu(self)
    self.popMenu.addAction(QAction('test0', self))
    self.popMenu.addAction(QAction('test1', self))
    self.popMenu.addSeparator()
    self.popMenu.addAction(QAction('test2', self))
  def on_context_menu(self, point):
    # show context menu
    self.popMenu.exec_(self.button.mapToGlobal(point))
def main():
  app = QApplication(sys.argv)
  form = MainForm()
  form.show()
  app.exec_()
if __name__ == '__main__':
  main()

 总结

以上所所述是小编给大家介绍的python PyQt5/Pyside2 按钮右击菜单实例代码,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

相关文章

python自定义函数实现最大值的输出方法

python中内置的max()函数用来得到最大值,通过冒泡排序也可以。 #!/usr/bin/python def getMax(arr): for i in range(0...

python实现在函数中修改变量值的方法

和其他语言不一样,传递参数的时候,python不允许程序员选择采用传值还是传引用。Python参数传递采用的肯定是“传对象引用”的方式。 实际上,这种方式相当于传值和传引用的一种综合。如...

Python基于list的append和pop方法实现堆栈与队列功能示例

Python基于list的append和pop方法实现堆栈与队列功能示例

本文实例讲述了Python基于list的append和pop方法实现堆栈与队列功能。分享给大家供大家参考,具体如下: #coding=utf8 ''''' 堆栈: 堆栈是一个后进先出...

pygame实现简易飞机大战

利用pygame实现了简易版飞机大战。源代码如下: # -*- coding:utf-8 -*- import pygame import sys from pygame.local...

python学习——内置函数、数据结构、标准库的技巧(推荐)

我作为一名python初学者,为了强化记忆有必要把看过的一些优秀的文章中一些技巧通过notebook的方式练习一次。我认为这么做有几个优点:一来加深印象;二来也可以将学习过的内容保存方便...