installLazySignalHandler
installLazySignalHandler(name, signalSignature, handlerFunctionName)
This function installs a Qt (not Unix) signal handler that eavesdrops on the object identified by the given symbolic or real name
. The signalSignature
must be the exact signature used in C++ with no parameter names—for example, "activated(int)"
or "triggered(QAction*)"
. The handlerFunctionName
(which must be passed as a string, not as a function reference), will be called whenever the specified widget emits the specified signal and will be passed a reference to the object that emitted the signal, followed by all the signal's arguments (if there are any).
In Perl the function name needs to be prefixed with the package name the function is declared in, otherwise calling the signal handler may fail. For functions in test.pl
this prefix is main::
.
This function is very flexible in that the object identified by the name
does not have to exist at the time the function is called, since the object will be looked for whenever the signal is emitted. The price to be paid for this flexibility is that the use of this function can significantly slow down playback if the signal is emitted a lot. If possible it is better to use the less flexible installSignalHandler(objectOrName, signalSignature, handlerFunctionName) function instead.
Where possible the signal's arguments are passed as types that can be handled normally such as numbers, strings, or their actual Qt types such as QAction
or QTableWidgetItem
. However, some types are sent as plain Squish Object
s; custom types and other unrecognized types are passed as strings.
© 2024 The Qt Company Ltd.
Documentation contributions included herein are the copyrights of
their respective owners.
The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation.
Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property
of their respective owners.