I have a situation where I would like to pass a QML event to another QML item in the middle of the initial event handler. e.g.
Item {
id: item1
Keys.onPressed: {
// Pre-process...
passEventToObject(event, item2);
// Post-process based on results of event passing...
}
}
TextInput {
id: item2
// Expect key press event to be handled by text input
}
What can I do to acheive passEventToObject
?
Notes:
- I don't have access to modify
Keys.onPressed
insideitem2
, it's a QML built-in (TextInput
). - The event passing must happen in the middle of
item1.Keys.onPressed
One method to move events between Items is to create a C++ plugin and use
QCoreApplication::sendEvent
. Unfortunately, Qt doesn't map directly from the QMLKeyEvent
and the C++QKeyEvent
, so the interface to the plugin will need to expose the internals of the event:To use it: