上图是主线程UI界面的按钮和其槽函数,槽函数里面触发一个信号,该信号和另一个线程的槽函数(如下图)connect
我想通过这个按钮去启动另一个线程run()里面的QSound,使其播放音效(如下图)
但结果是音效没有响。
但经过我如下图的测试后,运行程序是会直接播放音效的,我灵机一想,是不是因为启动程序后的延时使QSound的play()无法执行了,我后来又在下图的play()前面加上来sleep(100)函数,结果正如我想的那样,音效又无法播放了
想请教一下大家,我这个猜想是不是对的?还有就是如何解决这个问题:使其能够通过按钮播放另一个线程的音效?
ps.我后来将这个按钮判断放到了另一线程里的槽函数,结果是能正常播放,但run()里面就空了。开单独线程的意义就没了,所以我很纠结