Событие Qt HoverEnter работает только при нажатии на виджетC++

Программы на C++. Форум разработчиков
Гость
Событие Qt HoverEnter работает только при нажатии на виджет

Сообщение Гость »

Я пытаюсь изменить значок QPushButton при наведении курсора.
Проблема в том, что событие Qt HoverEnter работает только при нажатии на виджет.
Этот код работает с моей конфигурацией: https:/ /gist.github.com/peteristhegreat/d6564cd0992351f98aa94f869be36f77
(из Как реализовать QHoverEvent в Qt?)
Поэтому я не понимаю, почему это не работает в моем случае, может быть, я упускаю флаг распространения события между моим QGraphicsScene и моим QPushButton.
Это сбивает с толку, потому что я уже успешно создал код для обработки QEvent::HoverEnter, но для области прокрутки.
Спасибо!< /p>
это мой текущий код (внутри моего QGraphicsView я использую my_QGraphicsScene->addWidget(my_hoverBut)):
#ifndef HOVERBUT_H
#define HOVERBUT_H
#include
#include
#include
#include

class hoverBut : public QPushButton
{
Q_OBJECT
public:
explicit hoverBut(QWidget *parent = nullptr){
setAttribute(Qt::WA_Hover);
}

protected:
bool event(QEvent * e) override
{
qDebug() type())
{
case QEvent::HoverEnter:
case QEvent::HoverLeave:
//Goes here only if clicked
return true;
default:
return QPushButton::event(e);
}
}
};
#endif // HOVERBUT_H


Подробнее здесь: https://stackoverflow.com/questions/784 ... is-clicked

Вернуться в «C++»