L'intégration de SQLite avec Qt Quick
J'essaie d'inclure une base de données SQLite avec QT Quick mais je ne peux pas trouver des exemples. Je veux juste être en mesure d'accéder à des éléments d'une base de données. Personne ne sait de toute les programmes d'exemple je peux jouer avec?
les liens Qt Quick avec SQLite.
RentBook: Ce Nokia Développeur de l'application exemple illustre l'utilisation de Qt Quick et Composants de la base de données SQLite.
RentBook: Ce Nokia Développeur de l'application exemple illustre l'utilisation de Qt Quick et Composants de la base de données SQLite.
OriginalL'auteur Wanting to learn | 2013-05-20
Vous devez vous connecter pour publier un commentaire.
Vous pourriez prendre QSqlQueryModel par exemple, ou tout autre modèle SQL et l'ajouter à la QML contexte et de l'utiliser dans la liste par exemple.
Créer un modèle
Définir le rôle de noms qui seront utilisés par les délégués de données d'accès par rôle dans QtQuick composants (
data
méthode est peu naïve car il n'existe aucune sorte de vérification des erreurs):L'ajouter à la QML
Créer une instance de la nouvelle définition de la classe du modèle et l'ajouter à la QML contexte
Lier le modèle de la QML Vue
Lier votre modèle pour les ListViews
model
propriété et d'usage défini précédemment rôle de noms pour accéder aux données dans le délégataire.Quelques exemples de liens:
Comment utiliser un QSqlQueryModel en QML
QML et QSqlTableModel
C'était une faute de frappe, j'ai corrigé, merci pour le remarquer. À l'aide de
QSqlQueryModel
fait la définition deSqlQueryModel
inutile et l'exemple ne serait probablement pas de travail depuis QML ne trouverez pas l'someRoleName
rôle.OriginalL'auteur Davor Lucic
rebus de réponse est un bon début, mais il m'a laissé me demandais comment faire pour se connecter à un compte existant (SQLite) de la base de données.
Alors, voici un exemple complet pour Qt 5.x, pas de pré-requis nécessaires.
Avis que le code permet d'éviter le nom de rôle de table de hachage de recherche dans SqlModel.de données() et tout superflu tas allocations.
main.cpp
principal.qml
ressources.qrc
minimes-qml-sql-app.pro
OriginalL'auteur Kay Sarraute
Dans Qt 5.3, il y a un exemple dans
Une note intéressante par rapport à rebus et Kay réponses: Le calendrier exemple expose le SqlModel à l'aide de
Cela permet une plus déclaratif style de programmation: il n'y a pas besoin d'instancier un SqlModel dans main.cpp. Au lieu de cela, vous déclarez dans votre qml.
C'est un bon point sur QML intégration, mais, malheureusement, le modèle n'est pas vraiment de se comporter comme un modèle, parce que
Calendar
a déjà son propre modèle (de jours dans le mois). Au lieu de cela, il est juste une liste d'événements (unQList<QObject*>
modèle) pour une journée particulière. Il a été récemment modifiée pour simplement être unQObject
en raison de ce fait: codereview.qt-project.org/#/c/145253OriginalL'auteur sacha