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

9
在KDE上的任何Qt应用程序中,当我在设计师中添加一个QPushButton并通过以下方式检查其文本时:
void MainWindow::on_pushButton_clicked()
{
    qDebug()<<ui->pushButton->text();
}

输出的前面会有一个&

&PushButton

这种行为在Windows系统中不存在。似乎在KDE上,Qt应用程序会自动为所有的推按钮添加快捷方式,这对我来说是不必要的。需要注意的是,这些&符号并非由设计者创建,并且您无法在.ui文件中看到它们。实际上,当按钮添加到部件中时,会在其文本的某个位置放置一个&

有没有可能以任何方式禁用Qt应用程序的自动助记符?


这个问题不太清楚。Qt Designer是否会添加它们?它们是否存在于.ui文件中?还是由Qt本身在运行时添加?你真的需要澄清一下。 - Kuba hasn't forgotten Monica
@KubaOber 设计师不会创建“和号”,您也无法在 .ui 中看到它们。似乎当按钮添加到小部件中时,会在其文本某处放置一个“&”符号。也许这是 KDE 的行为。 - Nejat
请在问题中加入这样的澄清。 - Kuba hasn't forgotten Monica
1
我也遇到了这个问题... 它发生在Plasma 5和Qt 5.5上。KDE 4和Qt 5.5没有问题。 - mamahuhu
1个回答

17

由KDEPlatformTheme插件负责。

解决方法是添加

[Development]
AutoCheckAccelerators=false

防止 KDE 自动添加加速键,请前往 ~/.config/kdeglobals

相关漏洞:https://bugs.kde.org/show_bug.cgi?id=337491


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接