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_())


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM