码迷,mamicode.com
首页 > 其他好文 > 详细

pyqt5的QListWidget中设置右键菜单

时间:2018-04-18 16:27:31      阅读:663      评论:0      收藏:0      [点我收藏+]

标签:python   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中设置右键菜单

标签:python   pyqt5   qlistwidget   右键菜单   删除   

原文地址:http://blog.51cto.com/11732546/2104915

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!