2024-06-28 19:29:47 发布
网友
所以我使用Pyqt来创建使用Python编程语言的GUI程序。我试图在点击Qslider时得到它的值,但是我不明白怎么。。。在
self.slide.mouseDoubleClickEvent= lambda event: self.slideclicked()
这是我在单击幻灯片时声明方法的方式,这是方法:
我希望得到鼠标点击的值,但是我只是得到了Qslider的当前值。在
一种可能的解决方案是重写mouseDoubleClickEvent方法并创建一个发送该信息的信号:
mouseDoubleClickEvent
class Slider(QSlider): pointClicked = pyqtSignal(QPoint) def mouseDoubleClickEvent(self, event): self.pointClicked.emit(event.pos()) class Widget(QWidget): def __init__(self, *args, **kwargs): QWidget.__init__(self, *args, **kwargs) self.setLayout(QVBoxLayout()) self.slider = Slider() self.layout().addWidget(self.slider) self.slider.pointClicked.connect(lambda p: print(p.x(), p.y()))
如果无法覆盖该方法,可以使用eventFilter:
eventFilter
一种可能的解决方案是重写
mouseDoubleClickEvent
方法并创建一个发送该信息的信号:如果无法覆盖该方法,可以使用
^{pr2}$eventFilter
:相关问题 更多 >
编程相关推荐