PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
C_and_CPP
[問題] QT 即時顯示資料
作者:
soso7885
(YOHO)
2016-01-09 01:31:37
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
Linux C+
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
QT 5
問題(Question):
各位好,小弟我日前用QSerialPort寫了一個讀&寫10次資料的程式,預期在textbox上即
時顯示這是round第幾次,但只會在第10round做完之後跳出迴圈才會顯示這是第10round(
意思是直接從0跳到10),我想是不是必須用QThread一個跑serial read-write另一個upda
te mainwindow呢?還是直接在迴圈內讀寫完一次直接用connect-slot做就好? 煩請各位
給點意見,謝謝
預期的正確結果(Expected Output):
第一次做完顯示round 1->第二次做完顯示round 2->......->第10次做完顯示round 10
錯誤結果(Wrong Output):
round 1 ->卡住等10次做完-> round 10
程式碼(Code):(請善用置底文網頁, 記得排版)
補充說明(Supplement):
手機發文 請見諒
作者:
Bencrie
2016-01-09 01:34:00
UI 的本質就是個迴圈。讓這個迴圈卡在處理某個東西就等於讓 UI 卡住,因為他沒辦法繼續收事件、執行對應的動作。開 work thread 想法是對的,至於從 thread 送 event 給UI 要查一下有沒有對應的 API 幫你處理同步問題Android 的話就會是 handler
作者:
WYchuang
(愛賴床的黃金獵犬)
2016-01-09 02:47:00
QSerialPort有event driven, 有資料會用signal通知除非你系統很慢 不然在Slot裡面收資料應該還可以接受
作者:
bdvstg
(bdvstg)
2016-01-09 05:12:00
QCoreApplication::processEvents(); 加在迴圈內試試
https://goo.gl/q9ODIR
官方論壇討論串
作者:
soso7885
(YOHO)
2016-01-09 11:35:00
謝謝樓上的各位,我試試看
作者:
fanntone
(我是胖子)
2016-01-10 01:42:00
建議用C++11 lambda然後自訂callback去作
繼續閱讀
[問題] 請問有辦法將exe執行檔還原嗎?
Vasilii
Re: [問題] BCB6安裝OpenGL
noodleT
[問題] visual studio的參數提示可改呈現方式嗎
yoll522
[問題] 請教關於A=B!=0代表意義
smvenjoy
[問題] opengl 貼圖能否到3D物件?
pipited07
[問題] OpenCV 在 vs2008 上編譯設定
rc51
[問題] BCB6安裝OpenGL
purple0619
[問題] c++ Windows form
skitty
[問題] for次數如何更新?
kevinqazwsx
[問題] 實務上array可儲存的元素數(存float為例)
alen332l
Links
booklink
Contact Us: admin [ a t ] ucptt.com