在QT5.9.9中,禁止鼠标滚轮在slider上的作用可以通过重载Slider控件的wheelEvent方法来实现。具体的步骤如下:
创建一个自定义的Slider类,继承自QSlider类。例如:
class CustomSlider : public QSlider
{
public:
CustomSlider(QWidget *parent = 0);
protected:
virtual void wheelEvent(QWheelEvent *event) override;
};
在CustomSlider类中重载wheelEvent方法,通过判断鼠标事件是否在slider上来禁止鼠标滚轮的作用。例如:
void CustomSlider::wheelEvent(QWheelEvent *event)
{
QPoint pos = event->pos();
QRect rect = this->rect();
if (rect.contains(pos)) {
event->ignore();
} else {
QSlider::wheelEvent(event);
}
}
在这个示例中,我们获取鼠标事件的位置并将其与Slider控件的矩形区域进行比较。如果鼠标事件在Slider上,则忽略滚轮事件,否则调用基类的wheelEvent方法处理滚轮事件。
在应用程序中使用自定义的Slider类替换QSlider控件,例如:
CustomSlider *slider = new CustomSlider(parent);
通过这种方法,您可以禁止鼠标滚轮在Slider控件上的作用.
不知道你这个问题是否已经解决, 如果还没有解决的话:直接隐藏掉,或者试试用事件过滤器来处理
https://blog.csdn.net/weixin_43807244/article/details/119991752?spm=1001.2014.3001.5502