Поймать событие мыши при нажатии на оси диаграммы qchart

Я программирую приложение. в QT c ++ и иметь следующий вопрос:
Можно ли поймать событие мыши при нажатии на оси (не на самой диаграмме) диаграммы qchart?

Я пытался перезаписать метод события экземпляра оси, но метод события не вызывается ..

Я также попытался решить проблему с помощью EventFilter на экземпляре QChart, пока он работает. Но как отличить щелчок мыши между областью Оси и Qchart?

//Mouse filter Object:
MousePressEater::MousePressEater(Axes* ax)
{
this->axis = ax;
}

bool MousePressEater::eventFilter(QObject *obj, QEvent *event)
{
//qDebug() << event->type();
if (event->type() == QEvent::UngrabMouse) {
QMouseEvent *mEvent = static_cast<QMouseEvent *>(event);
qDebug("Ate mouse press %d %d %d %d", mEvent->pos().x() , mEvent->pos().y() , axis , obj );
return true;
} else {
// standard event processing
return QObject::eventFilter(obj, event);
}
}//Installing the filter in the constructor(inherited from QChart):
MousePressEater *mPressEater = new MousePressEater(ax);
this->installEventFilter(mPressEater);

«obj» просто возвращает указатель на экземпляр QChart, если щелкнуть по оси.

У кого-нибудь есть решение этой проблемы?
Спасибо!

0

Решение

Пожалуйста, проверьте документацию для * QObject :: installEventFilter (QObject filterObj) и * void QWidget :: mousePressEvent (QMouseEvent событие)

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]