我有一個Qt應用程序,它可以獲取串行數據並且顯示在儀表板類型的GUI中。該方案的基本結構如下:Qt GUI在Windows XP上無響應
EDIT 的SerialPort(從QIODevice繼承)對象獲得創建並具有連接到其槽readyRead信號。 當新數據進入時,它會通過消息處理程序解釋並通過程序發送。最終,數據進入GUI層,並顯示給用戶。
該程序在Windows 7中運行正常,但是當我在松下韌體上運行它,運行Windows XP時,程序開始很好,但過了一會兒GUI停止更新。我的意思是,當新數據進入時,gui不會重新繪製,直到用戶單擊按鈕或調整大小。我想知道這種行爲有哪些可能的原因。我認爲這可能是因爲所有串行數據進入主線程,但我認爲GUI運行在一個單獨的線程無論如何。我錯了嗎?有沒有人有任何想法可能會發生什麼?
不確定。 GUI線程輸入隊列過載的症狀通常是點擊/調整大小/移動停止工作,而不是使應用程序正常工作。 – 2013-03-07 19:36:10