Hi Jerome, thanks! Yes I know about the FocusScope item and how it works. The specific issue is the one I explained in my previous email, and I'm looking for a workaround. FocusScope doues not move focus to another item if the current focus item is disabled.
Cheers, Ola 2015-01-28 18:04 GMT+01:00 Jérôme Godbout <jer...@bodycad.com>: > Hi, > This may not be a direct answer but you may want to take a look at > FocusScope Qml Element: > http://doc.qt.io/qt-5/qml-qtquick-focusscope.html > > Here's a good explaination about those scope: > http://doc.qt.io/qt-5/qtquick-input-focus.html > > Hope this help somehow, > Jerome > > > On Wed, Jan 28, 2015 at 9:46 AM, Ola Røer Thorsen <o...@silentwings.no> > wrote: > >> Hi, >> >> I'm having some trouble making a robust QtQuick 5.4-based application >> where I only have 4 cursor keys and a return key available as the input >> method for the user. >> >> I have various gui buttons that I can move focus between. I've set this >> up using the KeyNavigation.onXXX etc. For a simple static gui, this is >> fine. >> >> However I get into trouble once some buttons get disabled >> (enabled-property set to false). This is done based on external events, so >> it may happen at any time. >> >> If a button with active focus is disabled, I'm stuck. The button's focus >> property is still true, but it will not receive key events, so I cannot >> move focus to the next using the cursor keys. I'd like focus to move on to >> some other item automatically anyway. >> >> Have any of you got some recommended way of dealing with situations like >> this? >> >> I think I've spent half the development time on this application just >> making sure keyboard navigation cannot get stuck. >> >> I did not have such issues when creating similar applications with Qt >> Widgets. There the behavior is that focus moves on to another widget >> automatically if I call setEnabled(false) on a widget with current active >> focus. >> >> I've tried doing something like this in my Button item: >> >> Button { >> id: button >> activeFocusOnTab: true >> function transferFocus() { >> if(!visible || enabled) >> return; >> if(nextItemInFocusChain() === button) >> return; >> if(focus) >> nextItemInFocusChain().focus = true; >> } >> onEnabledChanged: transferFocus() >> } >> >> This works OK in a smaller test application, but makes the larger >> application hang when "nextItemInFocusChain" is called for the 20th time >> or so. >> >> Cheers, >> Ola >> >> >> >> >> _______________________________________________ >> Interest mailing list >> Interest@qt-project.org >> http://lists.qt-project.org/mailman/listinfo/interest >> >> >
_______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest