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 按钮右击菜单实例代码,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

相关文章

Python3实现的反转单链表算法示例

本文实例讲述了Python3实现的反转单链表算法。分享给大家供大家参考,具体如下: 反转一个单链表。 方案一:迭代 # Definition for singly-linked li...

Python的SQLAlchemy框架使用入门

数据库表是一个二维表,包含多行多列。把一个表的内容用Python的数据结构表示出来的话,可以用一个list表示多行,list的每一个元素是tuple,表示一行记录,比如,包含id和nam...

Python时间和字符串转换操作实例分析

本文实例讲述了Python时间和字符串转换操作。分享给大家供大家参考,具体如下: 例子: #!/usr/bin/python # -*- coding: UTF-8 -*- impo...

Python 3.6 性能测试框架Locust安装及使用方法(详解)

Python 3.6 性能测试框架Locust安装及使用方法(详解)

背景 Python3.6 性能测试框架Locust的搭建与使用 基础 python版本:python3.6 开发工具:pycharm Locust的安装与配置 点击“File”→“s...

Python测试人员需要掌握的知识

a、字符串的定义方法 使用单引号(') 你可以用单引号指示字符串,就如同'Quote me on this'这样。所有的空白,即空格和制表符都照原样保留。 使用双引号(") 在双...