我正在使用Qt 4.8开发一个Windows应用程序,该应用程序使用
QMessageBox::information
QMessageBox::warning
...
当任何一个这些函数被调用时,Windows 会默认播放声音。我的客户们对此感到烦恼,希望永久禁用这个功能,但不改变 Windows 设置。
我该如何消除这个声音?
我发现这个声音是从以下位置调用的。
void QAccessible::updateAccessibility()
但是我目前还没有看到禁用它的方法。
我正在使用Qt 4.8开发一个Windows应用程序,该应用程序使用
QMessageBox::information
QMessageBox::warning
...
void QAccessible::updateAccessibility()
如果您使用不同的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();
QAccessible :: AlertMessage
角色的 QAccessibility
消息/事件。
希望这有所帮助。
msgBox.setStandardButtons(QMessageBox::Ok);
的代码来显示消息框。 - ulatekh