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