問題タブ [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.
qt - QWidget に強制的にイベントの伝播を終了させる
QLineEdit
のサブクラスにを付けましたQGraphicsScene
。は、添付QGraphicsScene
した に依存してマウス イベント (マウスを押す、マウスを離す、マウスを動かすなど) も取得していることに気付きました。QLineEdit
イベントが通過QLineEdit
してシーンに入るのを防ぐ方法はありますか?
私はそれを使用して添付しました:
助言がありますか?ありがとう!
qt - ユーザーがメニューを開くかウィンドウのサイズを変更すると、QMainWindow は QEvent::UpdateRequest の受信を停止します
QMainWindow を継承する MyWindow。MyWindow には、アニメーションを表示する QGLWidget が含まれています。
問題は、メニューを開くかウィンドウのサイズを変更するたびにアニメーションが一時停止することです。
アニメーションは、次のようQCoreApplication::postEvent(this, new QEvent(QEvent::UpdateRequest))
に定期的に呼び出してから、ウィンドウが を受け取るたびに再描画を呼び出すことによって実装されますQEvent::UpdateRequest
。
からわかるようqDebug()
に、メニューが開いている間、またはウィンドウのサイズが変更されている間、ウィンドウは更新要求イベントの受信を停止します。
QMainWindow/QWidget に更新要求イベントを受信し続けるための設定はありますか? または、アニメーションを実装するためのより良い方法はありますか?
編集:私はMac OS Xを使用しています。
qt - 閉じるボタンをクリックした後に QWidget を閉じるのをキャンセルする
QWidget
閉じるボタンをクリックした後、開いたままにすることは可能ですか? ウィジェットがメイン ウィジェットであるとします。つまり、別のウィジェットの子ではありません。
qt - カスタマイズされた Qevent を作成して投稿する
2 つのカスタム イベントを作成する必要があります。このリンクをたどってコードを作成しました:--
Qtカスタムイベントを登録するよりクリーンな方法はありますか?
カスタマイズされたイベントにデータ(Qstring)を作成&投稿&渡すのは正しい方法ですか?
================================================== =========
Kuba Ober の提案に従ってコードを編集します:---
Mainwindow.h :--
Mainwindow.c :---
event.h ファイル :--
eventFilter がトリガーされないのはなぜですか? postevent でデバッグ メッセージが表示されません。
qt - メインウィンドウへのポインターの保存 - Qevent
スレッドからメインウィンドウの QtreeView にイベントを投稿する必要があります。イベントを送信するには、Qobject (つまり、メイン ウィンドウ内の qtreeview) へのポインターが必要です。
このために、コンストラクター MainWindow::MainWindow() でメインウィンドウへのポインターを取得する必要があります。
sharedobj.h ファイルには、mainwindow へのポインタが含まれています :----
Mainwindow クラスには次のオブジェクトが含まれます:---
メインウィンドウのコンストラクター:-----
Mainwindow へのポインタを取得するのは正しい方法ですか?
また、「sharedobj.h」ファイルで行ったように、mainwindow の名前空間 UI にアクセスしてポインターを宣言するために、別の sharedobj.h ファイル内にファイル「ui_mainwindow.h」を含めることはできますか?
qt - スレッドから Qevent を送信する
この質問について誰かが提案してください..?QEvent から派生したクラスを使用して、TX スレッドからメインウィンドウにデータを送信する必要があります。
データが受信されるたびに RX スレッドがイベントをスローするようにして、そのデータをメインウィンドウに表示できるようにします。
ボタンの開始が押されると、メインスレッドを開始します。メインスレッドのオブジェクト内のメインウィンドウへのポインターを保存します。このポインターを使用して、イベントを mainwindow オブジェクトに投稿します。
初めて Qthread 関数 dowork_rx() に入るとき。イベントがスローされ、customEvent() ハンドラーでキャッチできます。しかし、イベントをスローしたときに dowork_rx() while ループが開始すると、customEvent() 関数はトリガーされません。
この問題を解決する方法を提案してください。
私のqeventクラス:---
スレッドの Dowork 関数 :----
イベントハンドラ:----
macos - Qtアプリで「Cmd-Q」または「Quit」メニューをクリックしてキャプチャする方法
私の Qt アプリには、最終的に終了する前にすべてを適切にクリーンアップする終了ルーチンがあります。そうしないと、どこかでクラッシュする可能性があります。アプリはシステム トレイで実行され、システム トレイ アイコン用に定義された [終了] メニューがあります。quitAction で、Mac のアプリ メニューとマージされるようにメニュー ロールを設定しましたが、自分のスロットが呼び出されていません。コードは以下のとおりです。
QApplication で QCloseEvent をキャプチャしようとしましたが、それでもうまくいかないようです。
ここで何か不足していますか?終了時に呼び出される独自のクリーンアップ ルーチンを持つ最良の方法は何ですか?