シリアル データを取得して表示する Qt アプリケーションがダッシュボード タイプの GUI にあります。プログラムの基本構造は次のとおりです。
EDIT SerialPort (QIODevice から継承) オブジェクトが作成され、readyRead 信号がスロットに接続されます。新しいデータが入ってくると、それは解釈され、メッセージ ハンドラーを介してプログラムを通じて送信されます。最終的に、データは GUI レイヤーに送られ、そこでユーザーに表示されます。
プログラムは Windows 7 では正常に動作しますが、Windows XP を実行している Panasonic タフブックで実行すると、プログラムは正常に起動しますが、しばらくすると GUI の更新が停止します。つまり、新しいデータが入ってきても、ユーザーがボタンをクリックするかサイズを変更するまで、GUI は再描画されないということです。この種の行動には、どのような理由が考えられるのだろうかと考えています。メインスレッドが入ってくるすべてのシリアルデータに圧倒されているのではないかと思いましたが、とにかく GUI は別のスレッドで実行されていると思います。私が間違っている?何が起こっているのかについて誰か考えがありますか?