zhiyiYo / PyQt-Fluent-Widgets

A fluent design widgets library based on C++ Qt/PyQt/PySide. Make Qt Great Again.
https://qfluentwidgets.com
GNU General Public License v3.0
4.99k stars 464 forks source link

安装事件过滤器后无法获取鼠标滚轮事件 #889

Closed Lyn0222 closed 1 month ago

Lyn0222 commented 1 month ago

我的主界面为一个SingleDirectionScrollArea,我在其中插入了一系列Qwidget控件,控件中含有TextEdit。我希望在滚动鼠标滚轮时,触发主界面的滚动。但是当我在TextEdit范围内添加事件过滤器,试图获取滚轮事件并传递给父控件时,无法触发主界面的滚动。当我直接继承QTextEdit的时候,该事件过滤器没有问题。同时,在Qwidget(ExpandingTextEdit范围外)滚动的时候,主界面的滚动也没有问题 我的界面: 1716866219715 在TextEdit类型(包括其他的很多控件)中,有内部定义的self.scrollDelegate = SmoothScrollDelegate(self),可能是这个滚动设置阻碍了信号的传递,导致信号无法被事件过滤器获取。是否可以添加一个选项,让控件内部的滚动变成可选择的,而不是强制的?这样或许可以解决问题

zhiyiYo commented 1 month ago

下个版本可以加上

Lyn0222 commented 1 month ago

好的,期待住了,感谢大佬!