如何在 KDE 上的 Qt 应用程序中禁用自动助记符?
Posted
技术标签:
【中文标题】如何在 KDE 上的 Qt 应用程序中禁用自动助记符?【英文标题】:How to disable automatic mnemonics in a Qt application on KDE? 【发布时间】:2015-12-17 17:39:48 【问题描述】:当我在设计器中添加QPushButton
并通过以下方式检查其文本时,在 KDE 上的任何 Qt 应用程序中:
void MainWindow::on_pushButton_clicked()
qDebug()<<ui->pushButton->text();
输出前面是&
:
&按钮
此行为在 Windows 上不存在。似乎 KDE 上的 Qt 应用程序会自动为所有按钮添加快捷方式,这对我来说并不理想。我应该注意,与号不是由设计者创建的,您在.ui
文件中看不到它们。实际上,当按钮添加到小部件时,&
会放置在其文本中的某处。
是否可以禁用 Qt 应用程序的自动助记符?
【问题讨论】:
这个问题不清楚。 Qt Designer 是否添加了这些?它们是否存在于 .ui 文件中?它们是由 Qt 本身在运行时添加的吗?你真的需要说清楚。 @KubaOber & 符号不是由设计器创建的,您在 .ui 中看不到它们。似乎当按钮添加到小部件时,&
被放置在其文本中的某个位置。也许这就是 KDE 的行为。
请在问题中做出这样的澄清。
也经历过这个问题......它发生在 Plasma 5 和 qt 5.5 上。 kde 4 和 qt 5.5 没问题。
【参考方案1】:
KDEPlatformTheme 插件负责它。
一种解决方法是添加
[Development]
AutoCheckAccelerators=false
到~/.config/kdeglobals
,它会阻止 KDE 自动添加加速器。
相关错误:https://bugs.kde.org/show_bug.cgi?id=337491
【讨论】:
以上是关于如何在 KDE 上的 Qt 应用程序中禁用自动助记符?的主要内容,如果未能解决你的问题,请参考以下文章