저는 앱을 프로그래밍 중입니다. QT C++에서 다음과 같은 질문이 있습니다. qchart 다이어그램의 축 (다이어그램 자체가 아닌)에서 마우스 이벤트를 클릭 할 수 있습니까?Qchart 다이어그램의 축을 클릭하면 마우스 이벤트를 잡습니다.
나는 또한 QChart 인스턴스에 eventfilter으로 문제를 해결하기 위해 노력 ..
내가 축 인스턴스의 이벤트 방법을 덮어 시도하지만, 이벤트 메서드가 호출되지는 eventfilter 지금까지 작동 . 그러나 Axis와 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 인스턴스에 대한 포인터를 다시 제공합니다.
누구든지이 문제의 해결책이 있습니까? 감사합니다. HTTPS : //doc.qt
에 대한 설명서를 확인하시기 바랍니다. io/qt-5/qabstractaxis.html – TCouch
빠른 답변에 감사드립니다. 나는 이미 같은 문서를 우연히 발견했지만, 나에게 도움이되지 못했다 :-( – simonegg