Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
检索在Qt上触发函数的击键_Qt_Shortcuts - Fatal编程技术网

检索在Qt上触发函数的击键

检索在Qt上触发函数的击键,qt,shortcuts,Qt,Shortcuts,我正在为qt上的某些操作selectOverlay添加快捷键列表(键0-9)。如何在selectOverlay()上检索触发插槽的按键 这看起来是一个关于何时使用QSignalMapper类的好例子。我没有尝试,但是 你可以在投币口打电话 QObject::sender() 获取指向启动信号的对象的指针 然后可以将指针强制转换为QShorcut或QShorcutEvent 并使用 如果是qaction,您可以在创建它时用键填充它的data(),并在槽中正确转换后请求它 试试哪种情况适合你。你不

我正在为qt上的某些操作
selectOverlay
添加快捷键列表(键0-9)。如何在
selectOverlay()
上检索触发插槽的按键


这看起来是一个关于何时使用
QSignalMapper
类的好例子。

我没有尝试,但是

你可以在投币口打电话

QObject::sender()
获取指向启动信号的对象的指针

然后可以将指针强制转换为QShorcut或QShorcutEvent

并使用

如果是qaction,您可以在创建它时用键填充它的data(),并在槽中正确转换后请求它


试试哪种情况适合你。

你不行。您的使用案例是什么?@Frank图像上可能有多达9层,我希望用户能够通过按键选择每一层。仅供参考,我创建了9个操作,每个按键一个,并将值输入数据字段。这样至少我不必重复触发函数的代码。
QObject::sender()