PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
C_and_CPP
Re: [問題] Qt使用signal與slot
作者:
peder
(嗶一聲之後)
2015-05-08 13:22:42
推 DIE755127: 你說的部分是我另外確認連線用的 05/08 12:27
→ DIE755127: 因為我是希望用可以直接在button click內就檢查出是否 05/08 12:29
→ DIE755127: 連線完成 然後再依序做其它事
如果要在 button click 內就檢查完成,可以用 QEventLoop
http://doc.qt.io/qt-4.8/qeventloop.html
t->connectToHost("ptt.cc", 23);
QEventLoop loop;
connect(t, SIGNAL(sockConnected()), &loop, SLOT(quit()));
loop.exec(QEventLoop::AllEvents); // wait here...
// connected
// do what you want here
連線尚未完前都會停在 loop.exec 這行
QEventLoop::AllEvents 是為了不讓 UI 凍結
避免讓使用者以為當掉了
完成後,會呼叫 loop quit() 繼續往下執行
作者:
uranusjr
(â†é€™äººæ˜¯è¶…級笨蛋)
2015-05-08 18:02:00
如果你上面寫在 UI thread 還是會 freeze, 請盡量不要
作者:
peder
(嗶一聲之後)
2015-05-08 20:06:00
那可以請問一下 有沒有其它較好的做法?我有試過這個方法,並不會讓 UI 凍結啊?
作者:
uranusjr
(â†é€™äººæ˜¯è¶…級笨蛋)
2015-05-08 23:06:00
感覺沒有 freeze, 但你在 UI 做很多事情都不會有反應總之有 async API 就用, 不要硬把它搞成 synchronous這裡有一些討論
https://forum.qt.io/topic/20002
繼續閱讀
Re: [問題] Qt使用signal與slot
peder
[問題] Qt使用signal與slot
Mensholaten
[問題] constexpr 使用的時機
wtchen
[問題] enum使用問題
tarobear
[問題] 如何紀錄程式執行時的時間
FierceBreast
[問題] VC++呼叫Form2問題
sura
[問題] 請益如何記錄不規則的座標值呢
morningjis
[問題] c&c++的問題
zxcv4982543
[問題] hash_map 取最後一筆的值
TwoDemon
[問題] 關於gil/gil.h跟gil/dip.h,哪裡可以找到
seark1219
Links
booklink
Contact Us: admin [ a t ] ucptt.com