問題タブ [qevent]

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 に答える
1304 参照

qt - QWidget に強制的にイベントの伝播を終了させる

QLineEditのサブクラスにを付けましたQGraphicsScene。は、添付QGraphicsSceneした に依存してマウス イベント (マウスを押す、マウスを離す、マウスを動かすなど) も取得していることに気付きました。QLineEditイベントが通過QLineEditしてシーンに入るのを防ぐ方法はありますか?

私はそれを使用して添付しました:

助言がありますか?ありがとう!

0 投票する
3 に答える
2014 参照

qt - ユーザーがメニューを開くかウィンドウのサイズを変更すると、QMainWindow は QEvent::UpdateRequest の受信を停止します

QMainWindow を継承する MyWindow。MyWindow には、アニメーションを表示する QGLWidget が含まれています。

問題は、メニューを開くかウィンドウのサイズを変更するたびにアニメーションが一時停止することです。

アニメーションは、次のようQCoreApplication::postEvent(this, new QEvent(QEvent::UpdateRequest))に定期的に呼び出してから、ウィンドウが を受け取るたびに再描画を呼び出すことによって実装されますQEvent::UpdateRequest

からわかるようqDebug()に、メニューが開いている間、またはウィンドウのサイズが変更されている間、ウィンドウは更新要求イベントの受信を停止します。

QMainWindow/QWidget に更新要求イベントを受信し続けるための設定はありますか? または、アニメーションを実装するためのより良い方法はありますか?

編集:私はMac OS Xを使用しています。

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

qt - 閉じるボタンをクリックした後に QWidget を閉じるのをキャンセルする

QWidget閉じるボタンをクリックした後、開いたままにすることは可能ですか? ウィジェットがメイン ウィジェットであるとします。つまり、別のウィジェットの子ではありません。

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

qt - カスタマイズされた Qevent を作成して投稿する

2 つのカスタム イベントを作成する必要があります。このリンクをたどってコードを作成しました:--
Qtカスタムイベントを登録するよりクリーンな方法はありますか?

カスタマイズされたイベントにデータ(Qstring)を作成&投稿&渡すのは正しい方法ですか?

================================================== =========

Kuba Ober の提案に従ってコードを編集します:---

Mainwindow.h :--

Mainwindow.c :---

event.h ファイル :--

eventFilter がトリガーされないのはなぜですか? postevent でデバッグ メッセージが表示されません。

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

qt - メインウィンドウへのポインターの保存 - Qevent

スレッドからメインウィンドウの QtreeView にイベントを投稿する必要があります。イベントを送信するには、Qobject (つまり、メイン ウィンドウ内の qtreeview) へのポインターが必要です。

このために、コンストラクター MainWindow::MainWindow() でメインウィンドウへのポインターを取得する必要があります。

sharedobj.h ファイルには、mainwindow へのポインタが含まれています :----

Mainwindow クラスには次のオブジェクトが含まれます:---

メインウィンドウのコンストラクター:-----

Mainwindow へのポインタを取得するのは正しい方法ですか?

また、「sharedobj.h」ファイルで行ったように、mainwindow の名前空間 UI にアクセスしてポインターを宣言するために、別の sharedobj.h ファイル内にファイル「ui_mainwindow.h」を含めることはできますか?

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

qt - スレッドから Qevent を送信する

この質問について誰かが提案してください..?QEvent から派生したクラスを使用して、TX スレッドからメインウィンドウにデータを送信する必要があります。

データが受信されるたびに RX スレッドがイベントをスローするようにして、そのデータをメインウィンドウに表示できるようにします。

ボタンの開始が押されると、メインスレッドを開始します。メインスレッドのオブジェクト内のメインウィンドウへのポインターを保存します。このポインターを使用して、イベントを mainwindow オブジェクトに投稿します。

初めて Qthread 関数 dowork_rx() に入るとき。イベントがスローされ、customEvent() ハンドラーでキャッチできます。しかし、イベントをスローしたときに dowork_rx() while ループが開始すると、customEvent() 関数はトリガーされません。

この問題を解決する方法を提案してください。

私のqeventクラス:---

スレッドの Dowork 関数 :----

イベントハンドラ:----

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

macos - Qtアプリで「Cmd-Q」または「Quit」メニューをクリックしてキャプチャする方法

私の Qt アプリには、最終的に終了する前にすべてを適切にクリーンアップする終了ルーチンがあります。そうしないと、どこかでクラッシュする可能性があります。アプリはシステム トレイで実行され、システム トレイ アイコン用に定義された [終了] メニューがあります。quitAction で、Mac のアプリ メニューとマージされるようにメニュー ロールを設定しましたが、自分のスロットが呼び出されていません。コードは以下のとおりです。

QApplication で QCloseEvent をキャプチャしようとしましたが、それでもうまくいかないようです。

ここで何か不足していますか?終了時に呼び出される独自のクリーンアップ ルーチンを持つ最良の方法は何ですか?