listwidget的itemClicked信号鼠标左右键都能发送,现在我想实现只有在点击鼠标左键的时候才连接槽函数。
我个人是自定义了一个继承QListWidget的类,在类中重写了mousePressEvent函数,在函数中判断如果是鼠标左键,就进行emit()。这么做出现了一个问题,就是我在父窗口中实例化这个自定义类后,鼠标左键点击item后item没有选中状态,导致很多后续操作都没效果。
请教下各位大神我应该怎么改?或者,有没有更好的办法实现我的意图?麻烦不吝赐教
贴下我的代码
class MySignal(QObject):
signal = pyqtSignal()
class MyListWidget(QListWidget):
def init(self,parent = None):
super(MyListWidget,self).init(parent)
self.ClickSignal = MySignal()
def mousePressEvent(self,event):
if event.button() == Qt.LeftButton:
self.ClickSignal.signal.emit()
然后在父窗口的类中这样做:
self.listwidget = MyListWidget()
self.listwidget.ClickSignal.signal.connect(我的槽函数)
结果,鼠标右键点了无效了,哈哈哈哈,但是,鼠标左键点了也没用了,因为不能选中,一脸懵逼
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。