問題タブ [qapplication]

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

qt - サービスが実行されている場合に QApplication アプリが閉じないようにする

QApplicationQMLでメイン画面を作成するためにサブクラス化したQMLアプリがあります。私が抱えている問題は、閉じるボタンをクリックするとアプリケーションが意図したとおりに閉じることですが、一部のサービスが実行されている場合に閉じるボタンの動作をオーバーライドしたい状況を処理したいと考えています。

運悪くオーバーライドcloseEvent()してみました。誰かがこれを処理できる方法を教えてもらえますか?

更新:これは私が試したコードスニペットです

メイン.cpp

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

c++ - QApplication::processEvents が Windows で動作しない

Qt の QCustomPlot プラグインを使用して、リアルタイムで取得したライブ データを表示するプロジェクトに取り組んでいます。ディスプレイの背景色は黒で、データの複数のチャネルは異なる色で表示されます。スクリーンショットを撮るときは、印刷に適したものにしたいので、背景は白、すべてのデータは黒です。次のような解決策を考えています。

  1. グラフィック オブジェクトのポインタを操作して、すべての色を好きなように変更する
  2. QWidget::grab() を使用してスクリーンショットを取得し、QPixmap を取得します
  3. すべての色を通常の色に戻します

スクリーンショットを撮るのに間に合うようにシステムが色を変更できなかったため、これは最初はうまくいきませんでした。そこで、QApplication::processEvents() を使用しましたが、すべて私の Mac で動作しました。

ただし、Windows 7 (必須) では機能しません。何をすべきか?

コード:

また。Mac では動作しますが、Windows では動作しません。

更新 1. toggleColors の内容は次のとおりです。

代わりに試してみましui->plot->update()た。

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

qt - Qt Creator と 2013 の比較 (エラー c1057)

このプログラムをビルドしようとしていますが、c1057 致命的なエラーが発生します。connect 関数 (15 行目) を削除すると、うまく機能しましたが、これがメッセージである理由がわかりません: C:\Users\Ahmed\Documents\Qt-App\SpinnerAndSliders\main.cpp:15: エラー: C1057:マクロ展開で予期しないファイルの終わり

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

android - Android で ACTION_VIEW インテントに登録するには? QApplication が QEvent::FileOpen イベントを受信しないのはなぜですか?

QtQuick Android アプリケーションを登録して、特定のクラスのファイルを開いて処理しようとしています。

私が収集したものから、ファイルが で開かれると、解雇されますQApplicationQEvent::FileOpen

これについて私が持っている最も強力な (決定的でない場合) 証拠は、実稼働システムで見つかったこのコミット、および多数のブログ投稿と Google の検索結果です。

そこで、まず新しい空の QtQuick プロジェクトを作成します。

次に、次のように EventFilter を記述します。


次に、それを登録し、それに応じてマニフェストを編集します。

この時点で、Android エミュレーターでアプリケーションを起動します。

.fooNexus 5、API 22 を使用して AVD で ES ファイル エクスプローラーからファイルを開くと、アプリケーション確かにフォアグラウンドに移動しますが FileOpenイベントはログに記録されません。

フィルター メソッド内にブレークポイントを設定すると、ヒットしていないようです。

これは私を困惑させます。

ほぼ同じ結果(ヒットなし)で拡張QApplicationおよびオーバーロードすることにより、別のアプローチを試しました。event(QEvent *)

私は何が間違っているのでしょうか?


この MWE の完全なリポジトリは、こちら にあります

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

c++ - QApplicationを使用している場合、qApp->exec()は有効ですか

呼び出すのは有効ですか、qApp->exec()それともインスタンスQCoreApplication::exec()を使用している場合ですか? QApplicationこれは静的関数であるため、どちらの場合QCoreApplication::exec()も呼び出されます。ただし、それらのいずれかを呼び出しても、QApplicationベースのプログラムは問題なく動作するようです。これは単なる運/偶然ですか、それとも有効であると言えますか?

ご協力いただきありがとうございます!

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

python - ウィンドウを閉じた後も PyQt スレッドが実行されている

PyQt でアプリケーション ウィンドウを閉じると、コンソールはバックグラウンドで実行されたままになり、コンソールを閉じるまで python.exe プロセスが存在します。sys.exit(app.exec_())正常に動作しないと思います。

Mainscript (Firstwindow を開きます):

最初のウィンドウ

ボタンを押すと:

始める():

main() (ここで推奨):

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

performance - Qt QGraphicsView アプリケーションは常に 15% の CPU を使用しています。

QGraphicsView/Scene を中心に構築された Qt アプリケーションがあります。グラフィックのパフォーマンスは良好で、アニメーションは非常にスムーズで、シンプルな高解像度タイマーによると、フレームは 400 fps の速さで描画されます。ただし、タスク マネージャーによると、アプリケーションは常に 15% の CPU を使用しています。Visual Studio 2012 でパフォーマンス分析を実行したところ、ほとんどのサンプルが QApplication::notify 関数で取得されていることがわかりました。 Visual Studio からのプロファイル レポートのサンプリング

GPU への描画機能のオフロードが役立つことを期待して、ビューポートを QGLWidget でレンダリングするように設定しましたが、CPU 使用率にはまったく影響しませんでした。

これは正常ですか?CPU使用率を下げるためにできることはありますか?

プロセス エクスプローラーの [パフォーマンス] タブ プロセス エクスプローラーのパフォーマンス グラフ

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

qt - 入力イベントを 2 番目のアプリケーションに送信する

ユーザーインターフェイスを表示するモニターの一部で動作するqt 5.5アプリケーションがあります。画面の残りの部分については、別のアプリケーションがこれを行います。私の質問は: 2 番目のアプリケーションの画面スペースの上に透明なウィジェットを表示して、画面全体に完全な入力フォーカスを与え、2 番目のアプリケーションに関連するすべての入力アクションを転送する実用的な解決策はありますか? (常にそのウィジェットの背後にレンダリングされます)。

2 番目のアプリケーションは qt ではなく、WinApi アプリケーションです。入力イベント (マウス、キーボードなど) をフィルタリングして、サブセットをこのコンスタレーションの別のプロセスに送信することは可能ですか? または、このアプリケーションをqtアプリケーションにするときは?

ありがとうございました!

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

c++ - Qt5 別のクラスから QApplication を呼び出す方法は?

こんにちは、Qt5 で多言語アプリケーションを作成しています。アクセスしたい

私の Settings クラスの main.cpp にローカライズされています。2 つのコマンドを実行するには、これが必要です。

これをやろうとするとエラーが発生します:

どのように呼び出すことができますか?