from PyQt5.Qt import *
import sys
class MyWindow(QWidget):
# 自定义窗体
def contextMenuEvent(self, evt: QContextMenuEvent) -> None:
menu = QMenu(self)
new_action = QAction('打开', menu)
new_action.triggered.connect(self.open)
close_action = QAction('关闭', menu)
close_action.triggered.connect(self.close)
menu.addAction(new_action)
menu.addAction(close_action)
# point 调用
menu.exec_(evt.globalPos())
def open(self):
print('open')
def close(self):
print('close')
if __name__ == '__main__':
app = QApplication(sys.argv)
win = MyWindow()
win.setGeometry(300, 300, 500, 400)
win.show()
sys.exit(app.exec_())运行结果:
![[pyqt5]右键窗口弹出菜单并触发菜单点击事件_自定义](https://file.cfanz.cn/uploads/jpeg/2024/11/03/22/4ccX1Kc2SY.jpeg)









