如何在 KDE 上的 Qt 应用程序中禁用自动助记符?

How to disable automatic mnemonics in a Qt application on KDE?

在 KDE 上的任何 Qt 应用程序中,当我在设计器中添加 QPushButton 并通过以下方式检查其文本时:

void MainWindow::on_pushButton_clicked()
{
    qDebug()<<ui->pushButton->text();
}

输出前面有一个 & :

&PushButton

Windows 上不存在此行为。似乎 KDE 上的 Qt 应用程序会自动为所有按钮添加快捷方式,这对我来说是不希望的。我应该注意,符号不是由设计者创建的,您在 .ui 文件中看不到它们。实际上,当按钮被添加到一个小部件时,一个 & 被放置在它的文本中的某个地方。

是否可以禁用 Qt 应用程序的自动助记符?

负责它的 KDEPlatformTheme 插件。

解决方法是添加

[Development]
AutoCheckAccelerators=false

~/.config/kdeglobals,这会阻止 KDE 自动添加加速器。

相关错误:https://bugs.kde.org/show_bug.cgi?id=337491