PyQt5 QLabel自定义右键弹出菜单

Posted wangmantou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PyQt5 QLabel自定义右键弹出菜单相关的知识,希望对你有一定的参考价值。

from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import *
import sys

class MyLabel(QLabel):
    def __init__(self, *args, **kw):
        super().__init__(*args, **kw)
        self.setContextMenuPolicy(Qt.CustomContextMenu)
        self.customContextMenuRequested.connect(self.rightMenuShow)#开放右键策略

    def rightMenuShow(self, pos):   #添加右键菜单
            menu = QMenu(self)
            menu.addAction(QAction(动作1, menu))
            menu.addAction(QAction(动作2, menu))
            menu.addAction(QAction(动作3, menu))
            menu.triggered.connect(self.menuSlot)
            menu.exec_(QCursor.pos())
    
    def menuSlot(self, act):
        print(act.text())
        

class Demo(QWidget):
    def __init__(self, *args, **kw):
        super().__init__(*args, **kw)
        label = MyLabel(右击这里, self)
        label.setGeometry(0, 0 , 60, 30)

        self.resize(100,100)
        self.show()
        
if __name__ == __main__:
    app = QApplication(sys.argv)
    ecs = Demo()
    sys.exit(app.exec_())

以上是关于PyQt5 QLabel自定义右键弹出菜单的主要内容,如果未能解决你的问题,请参考以下文章

修改右键弹出菜单的字体大小

鼠标点右键弹出的菜单怎么设置啊?

vs2005中如何添加鼠标右键弹出菜单

bootstrap treeview 和Table 击右键弹出菜单

关于MFC主菜单和右键弹出菜单

屏幕截图工具