【发布时间】:2016-01-05 02:31:02
【问题描述】:
我正在创建一个 QPushButton,如下所示,没有明确的快捷键 (&):
testButton = new QPushButton(tr("Start"));
我可以在按钮构建后正确读取按钮的文本:
testButton.text() 返回“开始”(不带单引号)
然后我创建一个信号/插槽连接:
QObject::connect(
testButton, &QPushButton::clicked,
this, &Dialog::actionRequest
);
在Dialog::actionRequest 槽中,testButton.text() 返回“&Start”,就好像在“某处”创建了快捷方式,在后台。
如果我将按钮命名为“Foo”,则会发生相同的现象,但testButton.text() 会返回“F&oo”。那是因为我已经有一个“文件”菜单,它有一个明确的快捷方式——创建为:
fileMenu = new QMenu(tr("&File"), this);
而且,Alt+O 可能是下一个“可用”快捷方式?
我不想为我的 QPushButton 创建这种隐式快捷方式。这个问题的解决方案是什么?我正在运行 Fedora 22(带有 Plasma 5),带有库存 qt 5.5 包。
【问题讨论】:
-
非常感谢!所以这似乎是 kde 中的一个“错误”(或者至少在我看来是一个“不需要的”功能!)