import sys from PyQt5.QtWidgets import QMainWindow, QMenu, QAction, QApplication from PyQt5.QtCore import Qt, pyqtSlot class MainWindow(QMainWindow): def __init__(self): super().__init__() self.setContextMenuPolicy(Qt.CustomContextMenu) self.customContextMenuRequested.connect(self.on_content_menu) def on_content_menu(self, pos): context = QMenu(self) context.addAction(QAction("test1", self)) context.addAction(QAction("test2", self)) context.addAction(QAction("test3", self)) context.exec_(self.mapToGlobal(pos)) app = QApplication(sys.argv) window = MainWindow() window.show() sys.exit(app.exec_())