pyqt5-为QListWidget添加右键菜单
如何在pyqt5下为QListWidget添加右键菜单?
能百度到的均是pyqt4下的,有些貌似并不好用。
在尝试了很多方法后,下面贴出可用的方法:
from PyQt4 import QtCore, QtGui
首先创建右键菜单:
#创建右键菜单
def rightMenuShow(self):
rightMenu = QtGui.QMenu(self.listView1)
removeAction = QtGui.QAction(u"删除", self, triggered=self.close) # triggered 为右键菜单点击后的激活事件。这里slef.close调用的是系统自带的关闭事件。
rightMenu.addAction(removeAction) addAction = QtGui.QAction(u"添加", self, triggered=self.addItem) # 也可以指定自定义对象事件
rightMenu.addAction(addAction)
rightMenu.exec_(QtGui.QCursor.pos())
然后在init的时候进行绑定:
self.list_widget.setContextMenuPolicy(Qt.CustomContextMenu)
self.list_widget.customContextMenuRequested[QtCore.QPoint].connect(self.rightMenuShow)
这样就可以使用右键菜单功能了。
不过这里每种不足的是,鼠标不管是否在item上还是空白处都会有右键选项。还想请教大大们,这里怎么处理。
谢谢这两篇博客给出的参考:
http://www.cnblogs.com/yogalau/p/3954042.html?utm_source=tuicool&utm_medium=referral
http://blog.163.com/ctcg326%40126/blog/static/7581291020124510012118/
pyqt5-为QListWidget添加右键菜单的更多相关文章
- 添加右键菜单命令 在此处打开命令窗口(E)(带图标)
@color 0A @title 添加右键菜单命令 在此处打开命令窗口(^&E)(带图标) by wjshan0808 @echo off reg add HKCR\Directory\Bac ...
- 仅在TabControl中的Tab中添加右键菜单
若想实现仅在TabControl中的Tab中添加右键菜单,可在XAML中通过使用样式得到: <TabControl> <TabControl.ItemContainerStyle&g ...
- [cb] Unity Editor 添加右键菜单
需求 为Unity的Editor窗口添加右键菜单 实现代码 // This example shows how to create a context menu inside a custom Edi ...
- Arcengine 二次开发添加右键菜单
最近在搞arcengine 二次开发,遇到了好多问题,也通过网上查资料试着慢慢解决了,把解决的步骤记录下来,有需要帮助的可以看一下,也欢迎各位来批评指正. 想给自己的map application在图 ...
- Beyond Compare 3添加右键菜单
目前是在Beyond Compare 3.1.9版本上试验可行,其他版本上尚未测试. 添加右键菜单步骤: 1.新建为.bat后缀的文本,将下面“添加右键菜单批处理”复制到此文本中. 2.将批处理移动到 ...
- 给tkinter文本框添加右键菜单
给tkinter文本框添加右键菜单 需求:直接右键点击使用tkinter创建的文本框是不会弹出菜单的.我们需要实现右键点击tkinter框架下的Entry对象.Text对象后弹出右键菜单可复制.粘贴和 ...
- DevExpress使用教程:XtraGridControl动态添加右键菜单
在使用 GridControl 的时候经常需要添加右键菜单.一般的做法是自己创建菜单项,然后注册GridView的Mouse-Click事件,然后Show出定义好的菜单.但是涉及到一些单击事件会收到编 ...
- 『实践』百度地图给map添加右键菜单(判断是否为marker)
var map; var s;//经度 var w;//纬度 $(document).ready(function(){ $(".mune").load("jsp/c ...
- 『实践』百度地图给多个marker添加右键菜单(删除、更新)
js: $.getJSON("./GetStationPlaceServlet",function(json){ for(var i=0;i<json.length;i++) ...
随机推荐
- combox
通过combox控件本身的item添加了选项后,该控件在启动后SelectedIndex默认值是-1,所以最好是在窗体加载的时候初始化城SelectedIndex=0 另外如果是窗体加载时item从数 ...
- 什么是java 序列化,如何实现java 序列化?
我们有时候将一个 java 对象变成字节流的形式传出去或者从一个字节流中恢复成一个java 对象,例如,要将java 对象存储到硬盘或者传送给网络上的其他计算机,这个过程我们可以自己写代码去把一个ja ...
- button 按钮,结合onclick事件,验证和提交表单
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- ZKUI中文编码以及以docker方式运行的问题
*:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...
- 轻量、强大的代码编辑器控件-WinForm完美版
前段时间做个小项目需要用到一个代码编辑器控件,但网上搜了半天,居然没发现一个完全满意的编辑器.现有的一些编辑器有: FastedTextBox 优点:1. 轻量. 2. 样式美观. 3. DEMO完 ...
- Java设计模式之单例模式
很多人都疑惑,单例模式是什么?为什么要用单例模式?在这里,笔者记录的仅仅只是自己对于知识点的理解,如果有错误的,请下方评论指教,共同进步,谢谢. 单例模式是什么? 简单理解: 单例就是一个实例被多个用 ...
- 使用eclipse作为python开发工具安装旧版pydev
在Eclipse中: Help->Install New Software add之后输入的链接地址 https://dl.bintray.com/fabioz/pydev/old/ 如果使用从 ...
- js 模块化的一些理解和es6模块化学习
模块化 1 IIFE 2 commonjs 3 浏览器中js的模块化 4 简单理解模块加载器的原理 5 es6 之前在参加百度前端技术学院做的小题目的时候,自己写模块的时候 都是写成立即调用表达式( ...
- vue+ vue-router + webpack 踩坑之旅
说是踩坑之旅 其实是最近在思考一些问题 然后想实现方案的时候,就慢慢的查到这些方案 老司机可以忽略下面的内容了 1)起因 考虑到数据分离的问题 因为server是express搭的 自然少 ...
- 原生JS:全局属性、全局方法详解
全局属性.全局方法 原创文章,转摘请注明出处:苏福:http://www.cnblogs.com/susufufu/p/5853342.html 首先普及几个我总结的非常实用又很基础的知识:(呵呵,仅 ...