別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
。
それが役立つことを願っています。