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

原文地址:https://www.cnblogs.com/wangmantou/p/11781251.html

时间: 2024-10-13 16:48:02

PyQt5 QLabel自定义右键弹出菜单的相关文章

js+css实现带缓冲效果右键弹出菜单

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Typ

MFC右键弹出菜单

右键弹出菜单是指右键抬起的时候弹出的菜单.通常放置在Dialog的OnRButtonUp响应函数里. 下面就给出右键弹出菜单的实例: 1 添加右键事件及响应函数 可以用Class Wizard...来添加一个右键消息WM_RBUTTONUP,为其添加Handler,会自动生成OnRButtonUp响应函数 2 为弹出菜单添加资源 可以用"Resource View"中的"String Table"添加一个新的弹出菜单资源,这里假设资源ID : IDC_MENU_UP

创建右键弹出菜单

①.添加一个菜单资源,ID为IDM_RIGHTMENU.因为在显示右键菜单时顶级菜单是不显示的,所以可以给它设置任意文本. ②.给视类添加WM_RBUTTONDOWN消息,在该消息中处理右键弹出菜单.因为视类窗口始终覆盖在框架窗口之上,框架窗口接收不到鼠标消息,所以由视类捕获WM_RBUTTONDOWN消息. void CMenuView::OnRButtonDown(UINT nFlags, CPoint point) { // TODO: 在此添加消息处理程序代码和/或调用默认值 CMenu

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

如果要修改右键弹出菜单的大小. 先设置Screen->MenuFont->Size = 30; 你希望设置的字体大小 然后将 PopMenu的OwnerDraw属性设置为true 然后设置每个菜单项(TMenuItem)的OnMeasureItem 事件过程,设置菜单项的高度. 下面是实例代码 //--------------------------------------------------------------------------- #include <vcl.h>

vc++ 如何添加右键弹出菜单

一.创建新工程 二.编辑菜单资源 1.添加菜单 按"Ctrl+R",双击"Menu"图标 2.于菜单编辑器内编辑菜单 四.添加代码(红色部分) void CCMenuView::OnUpdateShow(CCmdUI* pCmdUI) { // TODO: Add your command update UI handler code here MessageBox("右键弹出菜单测试!"); } void CCMenuView::OnRButt

Vue2的右键弹出菜单(vue-contextmenu)

给大家推荐一个基于Vue2的右键弹出菜单插件,支持单一SPA页面以及可以在循环绑定中使用. 项目地址为:https://github.com/chIIC/vue-...demo1: 父组件绑定右键事件的效果: demo2:列表循环绑定,识别当前点击对象: 原文地址:https://www.cnblogs.com/10manongit/p/12219408.html

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

一.主菜单.弹出菜单和右键菜单的概念: 主菜单是窗口顶部的菜单,一个窗口或对话框只能有一个主菜单,但是主菜单可以被更改(SetMenu()更改): 创建方式:CMenu::CreateMenu(void); 弹出菜单在菜单项中是带有右向小三角的菜单,主菜单的每个菜单项都是一个弹出菜单(PopMenu),因此弹出菜单是凸型或左凸型: 创建方式:CMenu::CreatePopMenu(void); 右键菜单是点击右键弹出的菜单(响应OnContextMenu). 原文地址:https://www.

Win32建立右键弹出菜单(PopMenu)

自定义右键菜单: 1 #ifndef _CONTEXTMENU_H_ 2 #define _CONTEXTMENU_H_ 3 #include <windows.h> 4 5 6 //动态菜单 7 #define ITEM_MENU_REPLY 40001 8 #define ITEM_MENU_ALLREPLAY 40002 9 #define ITEM_MENU_RELAY 40003 10 #define ITEM_MENU_DELETE 40004 11 #define ITEM_ME

禁止右键弹出菜单

<script src="../public/js/jquery-1.8.3.js"></script> <title>禁止右键单击上下文菜单</title> <script type="text/javascript"> $(function(){ $(document).bind("contextmenu",function(e){ $("textarea").h