Python GUI - 要如何在画面上显示右键选单呢?

在PySide 2 中要显示出右键选单非常容易, 只要跟着下面的作法作即可

作法

  1. 汇入 QMenu
  2. 设定右键选单功能
  3. 点选选单任一功能
  4. 萤幕上列印字串

执行效果:

程序码:

import sys
from PySide2.QtCore import *
from PySide2.QtWidgets import QApplication, QMainWindow, QMenu


class MainWindow(QMainWindow):
     def __init__(self):
         super(MainWindow, self).__init__()
         self.resize(500, 400)
         self.setWindowTitle('Window context')
         self.setContextMenuPolicy(Qt.CustomContextMenu)
         self.customContextMenuRequested.connect(self.right_menu)

     def right_menu(self, pos):
         menu = QMenu()
         hello_opt = menu.addAction('Hello Hello')
         goodbye_opt = menu.addAction('881')
         exit_opt = menu.addAction('Close')
         hello_opt.triggered.connect(lambda: print('Hello Hello'))
         goodbye_opt.triggered.connect(lambda: print('881'))
         exit_opt.triggered.connect(lambda: exit())

         menu.exec_(self.mapToGlobal(pos))


if __name__ == '__main__':
     app = QApplication([])
     window = MainWindow()
     window.show()
     sys.exit(app.exec_())

完整的Demo Code 请参考连结


<<:  Day 21 | 3D蛇走迷宫AR游戏开发Part2 -角色蛇移动

>>:  async/await 连体婴

2.4.8 Design System - Icon

因为疫情的关系 体会到很多事情都要持之以恒 在突然被打乱的生活节奏中 要怎麽找回另一个习惯的步调 ...

[Day 26] 建立注册的画面及功能(十) - Gmail设定(一)

之後我们要处理寄送E-mail的部分, 这次我们会使用Gmail, 好处是一般寄送E-mail会有网...

Day6 React搭配JSX运用

昨天学习到了JSX的几大特色与优点之後,今天就正式来学习用JSX搭配react。载入JSX之前先引用...

[MIT-6.S081-2020] OS课程----Xv6作业系统的环境架设

前言 哈罗大家好,6.S081是麻省理工的一门作业系统的课程,小弟我在寒假时有听说这们课程很厉害,但...

[Day30] GCP云端部属说明(前後端)

How - 部属MongoDB 登入以下网址 https://www.mongodb.com/clo...