gpt4 book ai didi

c++ - qt 如何通过 connect(Signal,Slot) 将 qshortcut() 的 QkeySequence 传递给函数?

转载 作者:太空狗 更新时间:2023-10-29 21:19:49 26 4
gpt4 key购买 nike

我正在尝试将多个快捷方式连接到一个插槽,以便获取它们的键值并将其附加到一个变量。类似文本输入的东西,所以我做这样的事情:

button_1 = new QShortcut::QShortcut(QKeySequence("1"),this);
connect(button_1,SIGNAL(activated(QKeySequence)),this, SLOT(keybord_shortcuts(QKeySequence)));

这是不正确的,因为 activated() 不会获得调用快捷方式到我的插槽 keybord_shortcuts 的序列。

No such signal QShortcut::activated(QKeySequence)

除了activated()还有其他方法吗?欢迎任何帮助。

谢谢。

最佳答案

是的,没有这样的信号activated(QKeySequence),你必须连接到信号activated():

 connect(button_1, SIGNAL(activated()), this, SLOT(keybord_shortcuts()));

但是你可以通过使用 sender() 获得真正的快捷方式:

 void keybord_shortcuts()
{
QShortcut* shortcut = qobject_cast<QShortcut*>(sender());
QKeySequence seq = shortcut->key();
...
}

关于c++ - qt 如何通过 connect(Signal,Slot) 将 qshortcut() 的 QkeySequence 传递给函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26235279/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com