問題タブ [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.

0 投票する
1 に答える
653 参照

c++ - QGraphicsItem派生クラスでマウスイベントを受け取る方法は? Qt

これについてはすでにスレッドがありますが、私が見つけた解決策は機能しません。解決策: QGraphicsView::MousePressEvent(event);QGraphicsView 派生クラスの MousePressEvent クラスの最後に書き込みます。どちらも機能しません。QGraphicsItem クラスはマウス イベントを受け取りません。これは私の QGraphicsView クラスの MousePressEvent です:

これは私の QGraphicsItem クラスの MousePressEvent です:

私が忘れたものはありますか?

0 投票する
1 に答える
6556 参照

qt - mousePressEvent スロット Qt への接続方法

にはClass ButtonsbtnRightClicked信号とmousePressEventスロットがあります。

では、次のように信号をスロットmainwindow.cppに接続します。btnRightClickedonRightClicked

onRightClickedスロットは次のようになります。

しかし、私はこのプログラムを実行しましたが、何も起こりませんでした。mousePressEventその理由は、スロットに接続していなかったためだと思います。私はQtが初めてで、正しいかどうかわかりません。

中央のウィジェットにいくつかのボタンを設定しました。それぞれのボタンを右クリックしたときに右クリック イベントが発生するようにします。では、どうすればこれを機能させることができますか?

ありがとう

編集: でbutton.h:

0 投票する
1 に答える
908 参照

c++ - QGraphicsView マウス移動イベントを認識するにはどうすればよいですか?

私はqtとc ++が初めてです。信号をプロットする qgraphicsview があります。マウスのクリックと長方形の描画で特定の領域をズームします。したがって、マウスを押した位置とドラッグした位置が必要です。このために、私は次のようにします:

ヘッダーファイルで:

ソースファイル内:

グラフィックスビューでマウスを押して移動すると、クリックした位置は認識できますが、 呼び出されmouseMoveEvent(QMouseEvent * ev)ません。また、obj == ui.graphicsView声明はeventFilter決して発生しません。何が問題なのですか? どうすれば修正できますか?