問題タブ [qmouseevent]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - QGraphicsItem派生クラスでマウスイベントを受け取る方法は? Qt
これについてはすでにスレッドがありますが、私が見つけた解決策は機能しません。解決策: QGraphicsView::MousePressEvent(event);
QGraphicsView 派生クラスの MousePressEvent クラスの最後に書き込みます。どちらも機能しません。QGraphicsItem クラスはマウス イベントを受け取りません。これは私の QGraphicsView クラスの MousePressEvent です:
これは私の QGraphicsItem クラスの MousePressEvent です:
私が忘れたものはありますか?
qt - mousePressEvent スロット Qt への接続方法
にはClass Buttons
、btnRightClicked
信号とmousePressEvent
スロットがあります。
では、次のように信号をスロットmainwindow.cpp
に接続します。btnRightClicked
onRightClicked
onRightClicked
スロットは次のようになります。
しかし、私はこのプログラムを実行しましたが、何も起こりませんでした。mousePressEvent
その理由は、スロットに接続していなかったためだと思います。私はQtが初めてで、正しいかどうかわかりません。
中央のウィジェットにいくつかのボタンを設定しました。それぞれのボタンを右クリックしたときに右クリック イベントが発生するようにします。では、どうすればこれを機能させることができますか?
ありがとう
編集: でbutton.h
:
c++ - QGraphicsView マウス移動イベントを認識するにはどうすればよいですか?
私はqtとc ++が初めてです。信号をプロットする qgraphicsview があります。マウスのクリックと長方形の描画で特定の領域をズームします。したがって、マウスを押した位置とドラッグした位置が必要です。このために、私は次のようにします:
ヘッダーファイルで:
ソースファイル内:
グラフィックスビューでマウスを押して移動すると、クリックした位置は認識できますが、 呼び出されmouseMoveEvent(QMouseEvent * ev)
ません。また、obj == ui.graphicsView
声明はeventFilter
決して発生しません。何が問題なのですか? どうすれば修正できますか?