1
我已經寫了一個小小的遊戲線程來播放Qt中的聲音。 代碼如下:Qt:如何正確使用QSound的播放插槽?
Worker::Worker(QObject *parent) :
QObject(parent)
{
sound = new QSound("C:/Qt/Tools/QtCreator/bin/warning_sound/alert.wav");
sound->setLoops(10);
}
Worker::~Worker(){
delete sound;
}
void Worker::process()
{
sound->play();
}
過程SLOT將觸發一些別的地方。 但是,它可能會被觸發多次。我想有效果是:
無論多少次的SLOT已被觸發,一旦不再觸發更多,聲音將只出場10次。
一旦SLOT被觸發並在播放聲音時,即使接收到信號,SLOT也不會再被觸發。
我怎麼能做到這一點?
謝謝您的回答,但我想是不是讓程序只能觸發一次。我只希望聲音還在播放時,SLOT的過程不會被觸發。 – Nyaruko 2014-10-30 18:32:21
@Nyaruko請參閱我的編輯。 – Chernobyl 2014-10-30 18:37:22
謝謝...我會更仔細地閱讀文檔,我沒有注意到有什麼叫做isFinished()... – Nyaruko 2014-10-30 18:39:55