如果您使用不同QMessageBox
的QMessageBox::about
, 或创建自己的实例QMessageBox
并自己设置iconPixmap
所有内容,则不应听到哔哔声。
QMessageBox::warning(0, "Test", "test"); // Plays alert
QMessageBox::about(0, "Test", "test"); // No sound, but no icon either
QMessageBox msgBox;
msgBox.setParent(0);
msgBox.setWindowTitle("Test");
msgBox.setText("test");
if(false)
{
msgBox.setIcon(QMessageBox::Warning);// makes sound
}
else
{
QPixmap p;
p.load("warning.png");
msgBox.setIconPixmap(p);// no sound, but with icon
}
msgBox.exec();
否则,要禁用警告声音,您可能需要在应用程序上使用全局事件过滤器QAccessibility
来捕获来自角色的任何事件/消息QAccessible::AlertMessage
。
希望有帮助。