問題タブ [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 投票する
3 に答える
23920 参照

qt - QGraphicsItemでマウスイベントを取得できますか?

サブクラス化QGraphicsRectItemしましたが、マウスイベントを受信して​​いません。これに似た他の質問で、マウストラッキングを有効にする必要があると言っていますsetMouseTrackingが、QWidgetにあり、QGraphicsItemがQWidgetではないようです。

私は実装しましたpaint、そしてそれは働いています。サブクラス化されたQGraphicsViewで、マウスイベントが発生しています。

ドキュメントは、たとえば、mousePressEvent関数をオーバーライドするだけで、イベントの取得を開始する必要があると考えているようです。mousePressEventをQGraphicsViewのスーパークラスに転送するかどうかは、何の違いもないようです。

0 投票する
2 に答える
11823 参照

qt - QGraphicsSceneクリックまたは右クリックでポップアップメニューを表示する

ユーザーがシーンの空の部分を右クリックしたときにポップアップを表示する方法はありますか?

私はQtに不慣れで、スロットとサブクラス化を試しましたが、役に立ちませんでした。

そのようなスロットはなく、それぞれ:

「エラー:「QMouseEvent」は宣言されていません」

onMouseReleaseイベントを実装しようとしたとき。

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

qt - ドラッグ アンド ドロップ イベントを使用して QTreewidget に複数のファイルを挿入する

私は MAC OSx 上の Qt4.7 で作業しています。ドラッグ アンド ドロップ イベントを使用して、QTreewidget にファイルを挿入したいと考えています。一度に複数のファイルを追加したい。私はこれを使用しています:

これを使用すると、一度に 1 つのファイルしか挿入できません。この問題で私を助けてくれる人はいますか? あなたの助けは本当に感謝します。

ありがとう、アシッシュ。

0 投票する
0 に答える
752 参照

c++ - Qt - QMouseEvent を子ワイルドゲットに渡す

QMouseEvents についていくつか調査しましたが、QMouseEvent を子ウィジェットに渡すことに固執しています。次のような構造のプログラムがあります。

MainWindow は DockWidget などの親です... 私の主な目標は、いつ MainWindow をクリックしたかを知り、この QMouseEvent を WidgetTarget に渡すことです。

QMouseEvent に関するドキュメントを読み、便利な関数 ignore() の QEvent を見ましたが、それは私が望むこととは逆のことをします。QMouseEvent は親に渡されるので、WidgetTarget でクリックすると、QMousseEvent が WidgetList に渡されます。

QMousseEvent を親ウィジェットの代わりに子ウィジェットに渡す方法はありますか? フラグ Qt::WA_TransparentForMouseEvents を使用したいくつかのトリックを見ましたが、これが正しい方法であるかどうかはわかりません

編集: 私は、widgetTarget の作業についての詳細を mousePressEvent(QMouseEvent *event) で配置します。基本的にスポイトを作ることです。ここで私が考えているコード:

私はあなたの有益なコメントを読みました。はい、このコードを MainWindow に実装すれば簡単だと思いますが、スポイト機能は WidgetTarget にあるため、基本的には WidgetTarget でスポイトをアクティブにする方法を見つける必要があります。アクティブ化され、WidgetTarget に QColor などの信号を送信します。

よろしくお願いします

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

javascript - 1 つの div の mouseleave および他の div の mouseenter で、両方の条件が true の場合

次のような4つのdivがあります

メニューのように、div11にカーソルを合わせたときにdiv21を表示し、div12にカーソルを合わせたときにdev22を表示したいと思います。div11 から移動すると、ユーザーが div21 に入らない限り、div21 を非表示にする必要があります。現在、ポインターを div11 から div21 に向かって移動すると、その非表示になります。とどめておきたい。両方とも上記のように別々の div にある必要があります。

mouseenter と mouseleave を試しましたが、要件を満たしていません。これで私を助けてください。

前もって感謝します。 jsfiddleリンク

0 投票する
0 に答える
525 参照

c++ - QMenu は表示されませんが、操作は可能です

マウス入力を使用してグラフィックスを管理および操作するために使用されるグラフィック マネージャーがあります。

mousePressEvent (QWidget からオーバーライドされず、QWidget からマウスの位置とボタンを渡す通常のメソッドです) 内で、右クリック時およびグラフィックをクリックしたときに表示される QMenu を作成します。

このコードは 2 つの異なるプロジェクトで使用され、一方のプロジェクトではメニューが期待どおりに表示され、もう一方のプロジェクトではメニューが表示されませんが、マウス クリックを受け入れることができます (当初、メニューがすぐに閉じられるという問題がありました)。

プロジェクト間の違いは、QMenu が存在するウィジェット階層にあります。

失敗したプロジェクト

作業中のプロジェクト

この動作を引き起こしている可能性のあることは何ですか?


修理済み

私が抱えていた問題を説明するこのバグhttps://bugreports.qt-project.org/browse/QTBUG-7556を発見しました。QGLWidget の周りに余白を追加して修正し、全画面表示にならないようにしました。