pyqt5的QListWidget中设置右键菜单

Posted

tags:

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

两种思路:
一. 重写event事件方法。
容易出现冲突事件...
二. 利用Widget的添加菜单方式
listWidget.setContextMenuPolicy(3) 设置菜单
listWidget.customContextMenuRequested[QtCore.QPoint].connect() 绑定方法
此时的右键菜单是整个列表任意地方都会弹出。
传递的信号参数是鼠标点击的位置 QPoint。

绑定的函数往往需要其他参数,有两种方式:
1> 匿名函数
connect(lambda: function(args1,args2))

2> 通过functools工具中的partial 函数
connect(partial(function,arg1,arg2))

推荐第二种,因为会附带默认参数一起传递。
*
——
——
通过上面的Qpoint 获取列表中的 选定的选项 item :
item = listWidget.itemAt(x,y) ,根据point的坐标
移除 列表选项中的item :
listwidget.removeItemWidget(listwidget.takeItem(listwidget.row(item)))

以上是关于pyqt5的QListWidget中设置右键菜单的主要内容,如果未能解决你的问题,请参考以下文章

Qt之QAbstractItemView右键菜单

python pyqt5 QTableWidget 添加右键菜单

PyQt5 QListWidget自定义项目[重复]

PyQt5:当列表失去焦点时设置 QListWidget 选择颜色

如何在 PyQt5 中返回 QlistWidget 中项目的值

PyQt5 检查项目是不是已经在 QListWidget