- 主题:有没有人帮我试一下qt的action是异步的吗?
你是不是理解错误了?
整个 Qt GUI 是单线程的,所以 QAction 被点击之后,是同步运行的。
但是你启动的那个任务,可能是又启动了别的线程,点击多次就启动多个线程。
又或者是你用了 signal/slot 连接 QAction 和另外一个线程的工作。
【 在 iwantfly 的大作中提到: 】
: 在工具栏上加了一个action,执行一个很长的命令
: 然后连续用鼠标点击。。。居然发现同时多个任务并行执行
: 在linux, windows上 qt5.12.12都是如此
: ...................
--
FROM 110.81.1.*
是他的算法里面又运行了事件循环吗?还是搞了 fork() ?
【 在 iwantfly 的大作中提到: 】
: 没有理解错误。。。
: 那个人的算法牛逼,能够破坏 Qt的机制,连续点击就同时执行多个任务
: 把他的算法包装到std::thread也不行
: ...................
--
FROM 110.81.1.*
哈哈,那你这是玄学修复啊!
【 在 iwantfly 的大作中提到: 】
: 看了半天好像什么也没有,没线程没时间循环
: 就是基于armadillo的算法库
--
FROM 110.81.1.*