c++ - 防止 Qt 生成快捷方式?

标签 c++ qt

<分区>

我正在创建一个 QPushButton,如下所示,没有明确的快捷方式 (&):

testButton = new QPushButton(tr("Start"));

我可以在按钮构造完成后正确阅读按钮的文本:

testButton.text() 返回 'Start'(不带单引号)

然后我创建一个信号/槽连接:

QObject::connect( testButton, &QPushButton::clicked, 这, &Dialog::actionRequest );

Dialog::actionRequest 槽中,testButton.text() 返回“&Start”,就好像在幕后“某处”创建了一个快捷方式。

如果我将按钮命名为“Foo”,会发生同样的现象,但 testButton.text() 会返回“F&oo”。那是因为我已经有一个"file"菜单,它有一个明确的快捷方式——创建为:

fileMenu = new QMenu(tr("&File"), this);

而且,Alt+O 可能会是下一个“可用”的快捷键?

我不想为我的 QPushButton 创建这种隐式快捷方式。这个问题的解决方案是什么?我正在运行 Fedora 22(带有 plasma 5),带有库存 qt 5.5 软件包。

最佳答案

有一个与菜单选项、按钮等关联的默认 QShortcut 对象。不幸的是,据我所知,在创建后无法直接访问和禁用它们。

您可以尝试调用 Qt 全局函数 qt_set_sequence_auto_mnemonic(false); 来动态禁用此行为,但我不确定它是否适用于每个平台。

关于c++ - 防止 Qt 生成快捷方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32999344/

相关文章:

qt - 使用 QFile 创建带有目录的文件

qt - 将参数从 C++ 传递到 QML

c++ - 如何使用 OpenSSL 编译一个简单的程序?

c++ - 带有未声明标识符错误的循环链表

qt - 如何检测 QDockWidget 何时移出 QMainWindow?

c++ - 带有模型的 Qt TableView 包含指向自定义类的指针

linux - Linux 发行版上的 windeployqt.exe

c++ - 查找参数化数组的大小

c++ - 错误正方体qt

c++ - 来自具有相同图像的相机的 OpenCV 匹配图像不会产生 100% 匹配