⚠️ Forum Maintenance: Feb 6th, 8am - 14pm (UTC+2)

Stop Button from stealing focus

  • Hello.
    I can't figure out how to avoid buttons stealing focus in QML/QtQuick.
    For example, suppose (simplified case) I have a TextField and a Button (Qt Quick Controls 2). Initially the TextField is focused for entry. Then, when the button is clicked, I do not want to remove focus from the TextField.

    How can stop the focus from changing when the Button is clicked?
    I understood that setting focus: true requests focus, but setting it to false doesn't seem to stop focusing. I've tried to set it back to false on onActiveFocusChanged to no avail. Also, wrapping the Button in a FocusScope with focus: false doesn't have any effect either: clicking the button still unfocuses the TextField.

    Appreciate any insight into how to solve the problem.

    (PS: In the actual application, any of many controls in the UI could have focus when the button is clicked and I'd like not to steal the focus from whichever is focused. Hence, solutions requiring keeping track of what is focused somehow are less desirable)

  • To answer my own question :)

    Just add:
    focusPolicy: Qt.NoFocus
    to the Button and the behaviour is as desired!

Log in to reply