Je souhaite activer le focus TextField lors du chargement du fichier qml. Mais ça ne fonctionne pas. Après avoir chargé le fichier TestUi.qml j'ai mis un bouton et sa méthode onClick j'ai fait recipientView.focus = true, ça marche bien. Le problème est que le focus par défaut n'est pas activé lorsque la vue est chargée pour la première fois.Qt QML Focus un élément (TextField) lors de l'affichage d'une page StackView
TestUi.qml
import QtQuick 2.0
import QtQuick.Controls 2.1
import QtQuick.Layouts 1.0
Page {
function init() {
recipientView.focus = true;
}
TextField {
id: recipientView
Layout.fillWidth: true
font.pixelSize: 18
inputMethodHints: Qt.ImhNoPredictiveText | Qt.ImhEmailCharactersOnly
focus: true
placeholderText: "Email"
}
}
main.qml
onComposeBtnClicked: {
rootStackView.push(test)
test.init()
}
TestUi {
id: test
visible: false
}
Avez-vous essayé de le définir via 'Component.onCompleted: recipientView.focus = true;'? – DuKes0mE
Lorsque l'application commence à se charger, Component.onCompleted est en cours d'exécution quelle que soit la page. Je ne l'ai pas aidé – nAkhmedov