L'objet global de QMLIl contient toutes les propriétés de l'objet global de JavaScript plus : L'objet QtL'objet Qt fournit les énumérations et fonctions utiles provenant de Qt, pour usage dans tous les fichiers QML. XMLHttpRequestLes scripts QML gèrent l'objet XMLHttpRequest, qui peut être utilisé pour obtenir des données à partir d'un réseau de manière asynchrone. La bibliothèque XMLHttpRequest implémente les mêmes standards W3C que la plupart des navigateurs internet populaires avec les exceptions suivantes :
De plus, l'arbre XML DOM réponse responseXML actuellement géré par QML est un sous-ensemble réduit de l'API DOM Level 3 Core gérée dans les navigateurs web. Les objets et propriétés suivants sont gérés dans l'implémentation de QML :
L'exemple de XMLHttpRequest présente l'utilisation de l'objet XMLHttpRequest afin de réaliser une requête et de lire les entêtes de la réponse. API de stockage hors-ligneAPI base de donnéesLa fonction openDatabaseSync() et les autres fonctions liées fournissent la possibilité d'accéder à un stockage local hors-ligne contenu dans une base de données SQL. Ces bases de données sont spécifiques à chaque utilisateur et spécifiques au QML mais accessibles dans toutes les applications QML. Elles sont enregistrées dans le sous-dossier Databases de QDeclarativeEngine::offlineStoragePath(), actuellement en tant que bases de données SQLite. L'API peut être utilisée à partir des fonctions JavaScript dans votre QML : import QtQuick 1.0 Rectangle { color: "white" width: 200 height: 100 Text { text: "?" anchors.horizontalCenter: parent.horizontalCenter function findGreetings() { var db = openDatabaseSync("QDeclarativeExampleDB", "1.0", "The Example QML SQL!", 1000000); db.transaction( function(tx) { // Créer une base de données si elle n'existe pas déjà tx.executeSql('CREATE TABLE IF NOT EXISTS Greeting(salutation TEXT, salutee TEXT)'); // Ajoute une (autre) ligne de salutations tx.executeSql('INSERT INTO Greeting VALUES(?, ?)', [ 'hello', 'world' ]); // Affiche toutes les salutations ajoutées var rs = tx.executeSql('SELECT * FROM Greeting'); var r = "" for(var i = 0; i < rs.rows.length; i++) { r += rs.rows.item(i).salutation + ", " + rs.rows.item(i).salutee + "\n" } text = r } ) } Component.onCompleted: findGreetings() } } L'API est conforme à la spécification '« Synchronous API » de la « HTML5 Web Database API », W3C Working Draft 29 October 2009. L'exemple de stockage SQL local présente les bases de l'utilisation de l'API de stockage hors-ligne. db = openDatabaseSync(identifier, version, description, estimated_size, callback(db)) Retourne la base de données identifiée par identifier. Si la base de données n'existe pas déjà, elle sera créée et la fonction callback sera appelée avec la base de données comme paramètre. Les propriétés description et estimated_size sont écrites dans le fichier INI (décrit ci-dessous), mais sont sinon actuellement inutilisés. Cette fonction peut lancer les exceptions ayant pour code SQLException.DATABASE_ERR ou SQLException.VERSION_ERR. Lorsqu'une base de données est créée, un fichier INI spécifiant ses caractéristiques est également créé :
Ces données peuvent être utilisées par des outils applicatifs. db.changeVersion(from, to, callback(tx)) Cette méthode vous permet d'exécuter une mise à jour du schéma. Si la version courante de la base de données de db n'est pas from, alors une exception est lancée. Sinon, une transaction est créée et passée à callback. Dans cette fonction, vous pouvez appeler executeSql sur tx pour mettre à jour la base de données. Cette fonction peut lancer les exceptions ayant pour code SQLException.DATABASE_ERR ou SQLException.UNKNOWN_ERR. db.transaction(callback(tx)) Cette méthode crée une transaction de lecture/écriture, passée à callback. Dans cette fonction, vous pouvez appeler executeSql sur tx pour lire et modifier la base de données. Si la fonction lance des exceptions, la transaction est annulée (aucun changement sur la base de données). db.readTransaction(callback(tx)) Cette méthode crée une transaction en lecture seule, passée à callback. Dans cette fonction, vous pouvez appeler executeSql sur tx pour lire la base de données (avec des requêtes SELECT). results = tx.executeSql(statement, values) Cette méthode exécute une requête SQL statement, liant la liste de valeurs values aux paramètres SQL »? ». Elle retourne un objet résultat possédant les propriétés suivantes :
Cette fonction peut lancer les exceptions ayant pour code SQLException.DATABASE_ERR, SQLException.SYNTAX_ERR ou SQLException.UNKNOWN_ERR. LoggingLes fonctions console.log() et console.debug() peuvent être utilisées pour afficher des informations dans la console. Voir déboguer QML pour plus d'informations. RemerciementsMerci à Alexandre Laurent pour la traduction ainsi qu'à Ilya Diallo, Jonathan Courtois, Thibaut Cuvelier et Claude Leloup pour leur relecture ! |
Cette page est une traduction d'une page de la documentation de Qt, écrite par Nokia Corporation and/or its subsidiary(-ies). Les éventuels problèmes résultant d'une mauvaise traduction ne sont pas imputables à Nokia. | Qt 4.7 | |
Copyright © 2024 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon, vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD. | ||
Vous avez déniché une erreur ? Un bug ? Une redirection cassée ? Ou tout autre problème, quel qu'il soit ? Ou bien vous désirez participer à ce projet de traduction ? N'hésitez pas à nous contacter ou par MP ! |