qthread 如何暂停进程 等待 ui 界面输入参数 点击按钮 继续进程 试了几个方法都是直接卡死

2018-06-26 12:00:05 +08:00
 Nepheshel
2374 次点击
所在节点    Python
4 条回复
weyou
2018-06-26 12:31:18 +08:00
点击暂停按钮触发一个“ pause event ”,在 thread 里一边 do your things,一边循环 check 这个 event,如果发现“ pause event ”被触发, 进入单独的等待循环持续 check 这个“ pause event ”是否被 reset, 这时如果用户点击”继续“按钮 reset 前面的” pause event “, 将前面的等待循环解除, 这时候就 qthread 能继续做事情了。

不过如果参数比较少,可以用线程同步的方式实时传到线程里,不需要暂停。
cyrbuzz
2018-06-26 14:32:51 +08:00
用信号呀,自定义信号,点了按钮后发出这个信号,接收到信号后启动 /恢复线程。
Tyanboot
2018-06-26 23:32:08 +08:00
用 condition_variable 锁上?点击按钮再用 notify 恢复。
Nepheshel
2018-06-27 17:55:58 +08:00
感谢各位的回答 问题解决了 原因是 我的线程表达式写错了 没能跟 UI 分离出来

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/465933

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX