Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/151.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 鼠标悬停时的QScrollBar_C++_Qt_Windows Applications - Fatal编程技术网

C++ 鼠标悬停时的QScrollBar

C++ 鼠标悬停时的QScrollBar,c++,qt,windows-applications,C++,Qt,Windows Applications,我想更改鼠标悬停时的QScrollBar样式。我试图通过添加eventFilter使其工作,但它不工作 代码: qApp->installEventFilter(此); bool测试::事件过滤器(QObject*对象,QEvent*事件) { 如果(事件->类型()==QEvent::Scroll){ QScrolleEvent*scrollEvent=静态强制转换(事件); 如果(scrollEvent->scrollState()==QScrolleEvent::Enter){ qDebu

我想更改鼠标悬停时的
QScrollBar
样式。我试图通过添加
eventFilter
使其工作,但它不工作

代码:

qApp->installEventFilter(此);
bool测试::事件过滤器(QObject*对象,QEvent*事件)
{
如果(事件->类型()==QEvent::Scroll){
QScrolleEvent*scrollEvent=静态强制转换(事件);
如果(scrollEvent->scrollState()==QScrolleEvent::Enter){
qDebug()设置样式表(“QScrollBar:vertical{width:20px;}”);
}
如果(scrollEvent->scrollState()==QScrolleEvent::Leave){
qDebug()设置样式表(“QScrollBar:vertical{width:12px;}”);
}
}
返回QObject::eventFilter(对象,事件);
}

如何执行此操作?

要在事件筛选器中处理的正确事件实际上是QEvent::Enter和QEvent::Leave。当实际发生滚动时使用QScrolleEvent,这就是为什么它没有被触发


您也可以直接使用带有:hover属性的样式表。

我已经尝试过将:hover属性与样式表一起使用,但不起作用。
qApp->installEventFilter(this);

bool Test::eventFilter(QObject *object, QEvent *event)
{
    if (event->type() == QEvent::Scroll) {
        QScrollEvent *scrollEvent = static_cast<QScrollEvent*>(event);
        if (scrollEvent->scrollState() == QScrollEvent::Enter) {
            qDebug() << "Enter";
            this->setStyleSheet("QScrollBar:vertical {width: 20px;}");
        }

        if (scrollEvent->scrollState() == QScrollEvent::Leave) {
            qDebug() << "Leave";
            this->setStyleSheet("QScrollBar:vertical {width: 12px;}");
        }
    }

    return QObject::eventFilter(object, event);
}