問題タブ [qtimer]

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

python - 関数を繰り返し呼び出すと QtCore.QTimer.singleShot が遅れる

関数 updateTelemetry() を介して定期的に更新されるテキスト表示を備えたpyqt guiがあります

これが私のコードの仕組みです。ユーザーがボタンをクリックすると、buttonHandler が呼び出されます。そして updateTelemetry は 10 秒ごとに繰り返し呼び出されます。

このアプローチは機能し、約 10 秒ごとに更新を取得できます。ただし、10 秒ごとに、GUI 全体が数秒間フリーズしてから更新されます。私がやっていることは、ブロックしているようです。それがどのように起こっているのかわかりません。qtimer.singleshot は別のスレッドを作成すると思いましたか?

私がやっていることを行うためのより良い方法はありますか?

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

python - PYQT QTimer がハンドラー定義に入らない

メインウィンドウで動作する次のコードがありますが、ポップアップウィンドウで複製する必要があります。実行すると、ハンドラーの定義に入らず、その理由がわかりません。考えられることはすべて試しました。誰かが私が間違っていることを教えてもらえますか?

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

python - サブウィンドウの "def" にアクセスできません - "MainWindow オブジェクトに属性 'updateTime' がありません"

プッシュボタンからサブウィンドウ (ポップアップ) を呼び出す MainWindow がありますが、def updateTime(self) にアクセスできず、属性エラーが発生します。

AttributeError: 'MainWindow' オブジェクトに属性 'updateTime' がありません

MainWindow セクションを取り出すと問題なく動作するので、何が問題なのか本当にわかりません。どんな助けでも大歓迎です。

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

c++ - メイン ウィンドウを閉じても QApplication が終了しない

画像を参照して表示するために使用される QMainWindow があります。これらの画像は、私が書いたラッパーを使用して読み取られる特別な医療画像です。

GUI の左側には、サムネイルのリストを表示する QListview があります。ユーザーがそれらのいずれかを選択すると、QVTKWidget は対応する画像を右側に表示します。vtkRenderWindowInteractor を使用して、表示された画像を操作します。

私のメインは次のようになります。

私の closeEvent は次のようになります。

問題は、QMainWindow を閉じると、アプリケーションが終了しないことです。つまり、コマンド プロンプトが開いたままになり、[続行するには何かキーを押してください] が表示されません。Ctrl+break すると、アプリケーションは (明らかに) 終了しますが、次のメッセージが表示されます。

QObject::~QObject: 別のスレッドからタイマーを停止することはできません

サムネイルを 1 つだけ選択して QVTKWidget に表示すると、プログラムが正常に終了することに気付きました。しかし、1 つのサムネイルを選択して表示し、別のサムネイルを選択すると、ウィンドウを閉じてもプログラムが終了しません。

ここで私が間違っていることを誰かが教えてくれるかどうか疑問に思っていました。もっと多くのコードを喜んでコピーして貼り付けますが、現時点ではどの部分が関連しているかわかりません。

答えを期待して以下を読みましたが、これまでのところ、この問題を解決できませんでした。

MainWindow を閉じた後も Qt アプリがメモリに残る

アプリケーションを閉じた後も Qt プロセスがメモリに残る

C++ アプリケーションが終了時にすべてのプロセスを強制終了しない

ありがとう

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

qt - QTimer がタイムアウト信号を発行しないようにする

特定の条件が真になるのを待つタイマーを開始しました。IF条件が真の場合、タイマーを停止し、タイムアウト信号を送信したり、接続されたスロットを実行したりしたくありません。ただし、指定された時間内に条件が false の場合は、timeout() シグナルを発行しても問題ありません。しかし、どのような場合でも、常にタイムアウト信号を発します。blockSignals ( true ) も使用しましたが、機能しません。どなたかアドバイスをお願いします。

また、timerStop 関数で破棄された信号を送信しようとしましたが、接続に失敗したという応答がありました。私にアドバイスしてください。

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

c++ - QTimer スロットが呼び出されない

クラスにクラスがありますが、QTimerスロットが呼び出されません。QT初心者です。私はそれが何であるか分かりません。QTクリエーターのメッセージウィンドウからの警告も実行時エラーも表示されません。うまくいきません。MainWindowupdateconnect()true

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

c++ - QTimer setInterval をリセットせずに、remainingTime

QTimer を使用する QT で書かれたアプリがあります。これは基本的にゲームであり、すべてのアクションはタイマーによって制御されます。ゲームには、ゲーム速度を増減する機能が含まれています。速度を上げるためのコードは次のとおりです。

speedUpValueおよびmaxSpeedは定数です。速度を下げるためにほぼ同じコードが使用されます。問題はsetInterval、内部タイマーをリセットすることです。したがって、速度を急速に上げたり下げたりし続けると、remainingTime常にリセットされているため、最終的にゲームが進行しなくなります。remainingTime手動で設定したり、リセットせずに間隔を変更したりする方法はありますか?