J'ai une base de données SQLite pour mon application QT. Je suppose qu'il serait logique d'ajouter la base de données en tant que ressource.
Je ne peux pas obtenir mon application pour compiler avec la ressource intégrée. p>
connexion.h strong> p> actifs.qrc strong> p> ma base de données SQLite en ce moment est comme suit ceci P> #-------------------------------------------------
#
# Project created by QtCreator 2010-11-21T03:18:17
#
#-------------------------------------------------
QT += core gui
TARGET = TimePlotter
TEMPLATE = app
SOURCES += main.cpp\
mainwindow.cpp \
time.cpp \
clients.cpp \
printTime.cpp
HEADERS += mainwindow.h \
time.h \
clients.h \
printTime.h \
connection.h
FORMS += mainwindow.ui \
time.ui \
clients.ui \
printTime.ui
RESOURCES += \
assets.qrc
3 Réponses :
Même si vous vous résolvez de problèmes de compilation, l'intégration d'une base de données SQLite dans le fichier QRC ne fonctionnera pas. Voir par exemple La discussion dans le Forum du Centre Qt ou sur le Liste de diffusion QT-Intérêts . La meilleure solution serait iMho pour inclure une vidage d'une base de données dans le fichier QRC, créer une mémoire SQLite DB et reconstruire la base de données des instructions SQL de la ressource. P>
Il semble que vous avez supprimé ou renommé votre fichier db expédition.db3 et ajouté expéditionData.db3. Pour corriger ce problème de construction, vous devez supprimer votre dossier de construction et votre projet de reconstruction. Cela devrait résoudre votre problème de construction. P>
Instructions de déploiement de la base de données Vous pouvez lire ici:
i au moins savoir comment faire cela sur Mac OSX, où fonctionne le paramètre qmake_bundle_data. Pour Windows, consultez cette réponse .
Dans votre fichier .pro, ajoutez cette section: P>
Maintenant, lorsque vous reconstruisez votre application, il sera situé dans le contenu du contenu / MacOS / Data. Ainsi, vous pouvez faire quelque chose comme ceci si votre base de données a été nommée Custom.db: P>
mac {
Ressources.files = données
Ressources.Path = Contenu / MacOS
Qmake_bundle_data + = ressources
} code> p> li>
db.setDatabaseName(QCoreApplication::applicationDirPath().append("/data/custom.db"));
Pourriez-vous s'il vous plaît poster votre fichier .pro aussi? Cela aiderait à comprendre. Merci.
En outre, où se trouve votre actif.QRC dans votre arbre de projet?
J'ai ajouté le fichier .pro, merci de l'aide
Affiche le contenu .Pro répond à votre deuxième question? Dans les actifs réels de répertoire.QRC est à la base du dossier de projet. (c'est-à-dire les fichiers .h et .ui dans le même dossier que le .QRC)