2013-04-09 47 views
2

我开发了一个使用SQLite数据库的小型应用程序。现在,我希望以用QSettings存储设置的相同方式创建该数据库并将其存储在用户空间中(以硬盘方式)。Qt:在用户空间中存储/创建数据库

我可以使用QDir和类似的类来找到用户的家,但我想避免隐藏的目录创建,我正在寻找一个透明的解决方案和独立的操作系统。

我可以使用Qt资源系统在用户主页中创建数据库(并在稍后查找)?

如何让它变得简单?

回答

1

要真正回答你的问题,我们需要知道一些事情。首先,你想如何实际存储数据库到磁盘上?它是否需要使用特定的文件格式?二进制? .txt文件? .txt/sql文件可以读入另一个数据库程序(即SQL中的命令重建数据库和表)?

Qt有一个可用于存储数据库的对象数组。您可以使用QFile和QTextStream/QDataStream来创建自己的自定义文件。就用户交互而言,QDir和QFileDialog类是非常好的支持。

+0

为什么你需要这样的东西(恕我直言,它没有提供没有用的问题)?目前,应用程序使用SQLite数据库,如果它不存在,则自己的应用程序代码创建一个并使用适当的表填充它。数据库被存储到与应用程序相同的目录中,我想将它存储在用户目录中,就像是一个QSettings文件一样,避免使用QDir和QFileDialog,因为我不会要求用户输入地点或文件名称 – Manuel 2013-04-10 07:00:41

+0

好的,所以不要使用QDir和QFileDialog。选择你自己的位置并将其硬编码到程序中。但是,文件格式与您将数据库保存到磁盘没有任何关系? 如果你真的想滥用QSettings,你可以强制你的数据库中的每个条目进入QSettings并以这种方式存储。否则,你需要在硬盘上写一个文件,这正是我原来的答案。你的来电。 – gankoji 2013-04-11 01:59:56