私の組み込みアプリケーションにいくつか問題があります。毎秒の時間をカウントするQTimeEdit
と、いくつかのチェックボックスと、1秒ごとに更新されるQLineEdit
を含むページです。Qtアプリケーションインターフェイスフリーズ
作業が数分後に、アプリケーションがまだ実行中であっても、インターフェイスがフリーズしています。ボタンを押すか、アクセス違反のメッセージをチェックボックスしようとするが表示された場合:
例外 'アクセス違反'(14):スレッドID = 05d80002(PTH = 8af6109c)、PROC-ID = 04a90002(PPRC = 91431714) 'nmb3.exe'、VM-active = 04a90002(pprc = 91431714) 'nmb3.exe' PC = 407ea307(qtgui4.dll + 0x0005a307)RA = 40d6c82c(qtgui4.dll + 0x005dc82c)SP = 01c1b928、BVA = 00000004
例外はqtgui4.dll
に関連しています。仮想メモリの飽和が発生したかどうかを確認しましたが、これはフリーズの原因となる問題ではありません。
QTimeEdit
の更新を避けてもフリーズは発生しませんが、その理由はわかりません。
あなたのコードを共有することができますしてください? – Simon
アプリケーションは、スレッド、メインウィンドウ、QWidgetで構成されています。スレッドはシグナル/スロットを使用してQWidgetと通信します。毎秒、次のアクションを実行します: 'time.start(); // QTimeはupdateTimeSignal(time)を送出します。 updateListOfSensorsSignal(sensorData)を発行します。 //センサデータで異なる行編集機器を更新する ' – Michele
GUIスレッドの 'QTimeEdit'を更新していますか?他のスレッドではありませんか? –