C++ 防止Qt生成快捷方式?
我正在创建一个QPushButton,如下所示,没有显式的快捷方式(&):C++ 防止Qt生成快捷方式?,c++,qt,C++,Qt,我正在创建一个QPushButton,如下所示,没有显式的快捷方式(&): testButton=新的QPushButton(tr(“开始”) 我可以在按钮构建后正确阅读其文本: testButton.text()返回“开始”(不带单引号) 然后我创建一个信号/插槽连接: QObject::connect( testButton,&QPushButton::单击, 此对话框:&对话框::actionRequest ); 在对话框::actionRequest插槽中,testButton.text
testButton=新的QPushButton(tr(“开始”)代码>
我可以在按钮构建后正确阅读其文本:
testButton.text()
返回“开始”(不带单引号)
然后我创建一个信号/插槽连接:
QObject::connect(
testButton,&QPushButton::单击,
此对话框:&对话框::actionRequest
);代码>
在对话框::actionRequest
插槽中,testButton.text()
返回“&Start”,就好像在引擎盖下的“某处”创建了快捷方式一样
如果我将按钮命名为“Foo”,同样的现象也会发生,但是testButton.text()
将返回“F&oo”。这是因为我已经有了一个“文件”菜单,它有一个显式的快捷方式——创建为:
fileMenu=newqmenu(tr(“&File”)、这个代码>
而且,Alt+O可能是下一个“可用”快捷方式
我不希望为QPushButton创建此隐式快捷方式。这个问题的解决办法是什么?我正在运行Fedora 22(使用plasma 5)和库存qt 5.5软件包。有一个默认的QShortcut对象与菜单选项、按钮等关联。不幸的是,据我所知,在创建后无法直接访问和禁用它们
您可以尝试调用Qt全局函数Qt\u set\u sequence\u auto\u助记符(false)
动态禁用此行为,但我不确定它是否在每个平台上都可用。非常感谢!因此,这似乎是kde中的一个“bug”(或者至少在我看来是一个“不需要的”特性!)