まず第一に、かなり基本的な質問について申し訳ありません(私は推測します!)
QtQuick.LocalStorageを使用して、ローカルDBのデータを作成、読み取り、書き込みすることを計画しています。
今私は知りたいです:
LocalStorage.openDatabaseSync()を使用して作成されたSqlite DBはどこにありますか?(ドキュメントによると、QQmlEngine :: offsetStoragePath()関数を使用して場所を取得できますが、QMLでその関数を実行する方法がわかりません:@)
作成するDBのパスを指定できますか?/方法は?
前もって感謝します。
その値はQML環境内で自由にアクセスすることはできませんが、基礎となるコードからエクスポートすることはできます。C ++の関数
内で、main
おそらくどこかQQmlApplicationEngine
で次のようなものを宣言しています。
QQmlApplicationEngine engine;
次のように、これを使用して、dbの場所を含むコンテキストプロパティを追加できます。
// ...
auto offlineStoragePath = QUrl::fromLocalFile(engine.offlineStoragePath());
engine.rootContext()->setContextProperty("offlineStoragePath", offlineStoragePath);
// ...
今後は、QML環境内からその値をと呼ぶことで簡単に使用できますofflineStoragePath
。プロパティを次のようにLabel
設定して、に入れてみてくださいtext
。
text: offlineStoragePath
メンバーofflineStoragePath
はQQmlEngine
、QQmlApplicationEngine
派生元のクラスの一部であることに注意してください。
詳細については、ドキュメントを参照してください。
ご覧のとおり、ストレージのパスを変更するために使用できるsetOfflineStoragePath
(ここを参照)というメンバーも含まれています。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加