赶路人的星光 2021-03-23 20:52 采纳率: 0%
浏览 86

Qt多线程问题:能通过主线程的按钮触发,启动另一个线程run()中的音效吗?

上图是主线程UI界面的按钮和其槽函数,槽函数里面触发一个信号,该信号和另一个线程的槽函数(如下图)connect

我想通过这个按钮去启动另一个线程run()里面的QSound,使其播放音效(如下图)

但结果是音效没有响。

但经过我如下图的测试后,运行程序是会直接播放音效的,我灵机一想,是不是因为启动程序后的延时使QSound的play()无法执行了,我后来又在下图的play()前面加上来sleep(100)函数,结果正如我想的那样,音效又无法播放了

想请教一下大家,我这个猜想是不是对的?还有就是如何解决这个问题:使其能够通过按钮播放另一个线程的音效?

 

ps.我后来将这个按钮判断放到了另一线程里的槽函数,结果是能正常播放,但run()里面就空了。开单独线程的意义就没了,所以我很纠结

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-09-07 17:41
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:

    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 以帮助更多的人 ^-^
    评论

报告相同问题?