我想知道如何将QDialog
中的所有声音静音。我有基于QDialog
的基本弹出窗口类,
class PopUp : QDialog
{
// member vars and funcs
};
我显示为
PopUp *popup_msg = new PopUp(this, /* ... */);
popup_msg->exec();
除了显示一些文本外,这个PopUp类并没有真正做任何事情,但我需要它是模态的,因此我在构造函数中调用setModal(true)
。问题在于,当QDialog
是模态时,当用户尝试与其他小部件(例如MainWindow)交互时,它会播放错误铃/哔声/声音。我想禁用这个声音!
这个问题:How can i disable sounds played by Qt QMessageBox?,解决了问题,但在我的案例中并没有完全解决问题。它的解决方案只会在show()
QMessageBox
(或我的情况下为QDialog
)时将声音静音,但当用户尝试点击其他小部件时,声音仍会播放。我希望它完全静音,人们会认为这是一个非常简单的解决方案的微不足道的问题。也许像QWidget::setAttribute(Qt::WA_MuteAllSounds, true)
这样的东西可能存在,但显然不是(?)。
所有帮助,提示和技巧都是最受欢迎的!