0
私はアプリケーションをプログラミングしています。 QT C++で、次の質問があります。 qchart図の軸(ダイアグラム自体ではなく)をクリックするとマウスイベントを捕捉することはできますか?Qチャートダイアグラムの軸をクリックするとマウスイベントを捕らえる
私はまた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