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

python-3.4 - python3.4 + pyqt5: QMouseEvent から x,y を取得する

+

ボタンをドラッグして press_release することで他のボタンを作成し、圧延機の通りの表現を形成するプログラムを作成しようとしています。作成中のボタンの移動といくつかのクリックイベントを処理するクラス Button を作成しました。この部分は正常に動作しています。私が立ち往生しているのは、これらのボタンを作成する必要があるマウスの位置を読みたいということです。
コードは次のとおりです。

はいくつかの関数を提供しますが、posx 行で次のエラーが表示されます:
TypeError: QMouseEvent.x(): unbound メソッドの最初の引数には 'QMouseEvent' 型が必要です

posy-line は < 組み込み関数 y > を提供しますが、これも私が望むものではありませんが、明確です。

MouseTracking は、MainWindow クラスでオンに切り替えられます

おそらく、通常は def 行でeventを使用してそれを行うでしょうが、それはスロットであるため、他の問題が発生する可能性があります。

仲良くなるヒントは?

更新: 推奨されるように、プロトタイプの完全なコードは次のとおりです: #!/usr/bin/env python3.4

乾杯、クリスチャン

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

c++ - Qt mouseReleaseEvent() がトリガーされませんか?

私は写真を表示するためのライブラリを手に入れました.PictureGLWidgetと呼びましょう:

class PictureGLWidget: public QGLWidget {

そのため、PictureGLWidget は QGLWidget を拡張します。PictureGlWidget では、

すでに実装されています。

私は独自のプロジェクトを開始しました。クラス MyMainWindow としましょう。ここでは、PictureGlWidget を Pointerobject として使用するだけです。

この時点で、すでに PictureGlWidget と対応する画像が MainwindowWidget に表示されています。その PictureGlWidget をクリックしてマウスを押したままにすると、小さな MainWindow よりもはるかに大きいので、(2D スクロールのように) 画像を移動できます。

さらに PictureGlWidget は関数を提供します

これは、写真の現在のクリッピングを解放した写真の中心位置を教えてくれます。私の画像は私の小さな MainWindowWidget よりもはるかに大きいため、PictureGLWidget よりもはるかに大きいことを思い出してください。写真のサイズが 4000x4000px (左上 0,0) であると想像してください。PictureGLWidget は、800x800px と表示するだけです。したがって、getPictureLocation() は、現在表示されている画像部分の中心座標を設定し、(400, 400) のような値を返します。これは、中央の左上隅のどこかにある可能性があります。

そのウィジェットをスクロールしてマウスを離した後、現在表示されているピクチャパーツ(その大きな画像のほんの一部)の中心位置を取得したいと思います。私はそれを上書きすることでそれを行うと思った

MyMainWindow::mouseReleaseEvent(QMouseEvent *event){ qDebug() << "Mouse released!"; }

方法ですが、まだどこにも接続していません。現在、それは私の mouseReleases に反応しておらず、そのテキストは表示されません。

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

c++ - クラス内での Qt でのマウス クリックのフィルタリング

フィルタリングを開始するボタンまたはキーを押すことで、QMainWindow 全体でのマウス クリックのフィルタリングを有効または無効にできるようにしたいと考えています。クラス内からイベントフィルターを有効にしたいQMainWindow.

クラス内に eventfilter を呼び出すことができるようにしたいのですが、MyWindow見つけたものから新しいクラスを作成しMouseFilter、再定義eventFilter(QObject* object,QEvent* event)して myWindow にインストールする必要があります

オブジェクト内からイベント フィルタを実装する方法はありますか?


解決

物事を複雑にしすぎたのかもしれません。サブクラス化と同じくらい簡単mousePressEventです。

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

c++ - 「エラー: C2275: 'QMouseEvent': この型を式として不正に使用しています」

「現在、このプログラムをコンパイルしようとして問題が発生しています。プログラムは、GUI QWidget でマウスの座標を表示することになっています。エラーは、mainwindow.cpp ファイルの 6 行目にあります。

「mainwindow.cpp ファイル」

「main.cpp」

助けてください。ポインターとおそらくミューテーターに関連するものであることはわかっていますが、まだわかりません。ありがとうございました。

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

c++ - QTextEdit focusOut がプログラム的に機能しない

とをオーバーライドするカスタムQTextEdit::mouseMoveEvent(QMouseEvent *e)があります::focusOutEvent(QFocusEvent *e)。QTextEdit のコンテキストは選択可能です。選択モードでは、ユーザーが QTextEdit の境界を超えたときに、::mouseMoveEvent でこれを行うことにより、プログラムで選択を停止したいと考えています。

ユーザーがマウスを離すと、すぐに focusOutEvent が呼び出されることがわかりました。

問題: プログラムで focusOutEvent を呼び出しても、focusOutEvent がまったく呼び出されません。ユーザーがマウス クリックを離したときにのみ呼び出されます。mouseReleaseEvent でも試しましたが、同じ問題です。

なぜ focusOutEvent が呼び出されないのですか? 何ができるでしょうか?そして、私の問題に対する別の解決策があるとしたら? ありがとうございました!

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

c++ - QToolTip::showText はマウスを離すと消える

mousePressEvent 内で私が行う

しかし、マウスボタンを離すとツールチップが消えます。放さないと、その 1000 ミリ秒後にツールチップが消えます。