1

我的 Qt 应用程序应该能够一次创建/打开/保存单个“项目”。将项目设置存储在文件中的轻松方式是什么?它应该是 XML 还是不那么可怕的东西?

当然,要存储在文件中的数据会随着时间而改变。

我需要的是类似QSettings但仅限于我的应用程序中的项目而不是整个应用程序的东西。

4

3 回答 3

1

我为了让它用户可编辑,我会坚持使用一个键 = 值的纯文本,就像在大多数 Linux 应用程序中一样。

但是,这仅适用于设置,而不适用于我认为需要更复杂结构的完整项目数据。

所以也许JSON

于 2009-04-10T08:13:39.540 回答
1

专业 XML:

  • 您可以在编辑器中查看它
  • 您可以在其中存储任何语言的任何类型的字符串(unicode支持)
  • 学习很简单
  • 多个程序可以读取相同的 XML
  • 使用 XML 构造数据很容易。例如,当您使用键/值列表时,当您需要保存树状结构时会遇到问题。

反对 XML

  • 结果有些臃肿
  • 大多数编程语言(尤其是像 C++ 这样的旧语言)对 XML 没有很好的支持。旧的 XML API 的设计方式使得它们可以用任何语言(最小公分母)实现。'纳夫说。
  • 您需要了解“编码”(或“字符集”)的概念。虽然乍一看这可能看起来微不足道,但有一些隐藏的问题可能会咬你。所以总是用一些变音符号甚至日本汉字(日语字符)来测试你的代码,以确保你做对了。
于 2009-04-10T08:34:17.930 回答
1

您可以使用 QSettings 将数据存储在特定的 .ini 文件中。从文档:

有时您确实想访问存储在特定文件或注册表路径中的设置。在所有平台上,如果要直接读取 INI 文件,可以使用 QSettings 构造函数,该构造函数将文件名作为第一个参数,并将 QSettings::IniFormat 作为第二个参数传递。例如:QSettings settings("/home/petra/misc/myapp.ini", QSettings::IniFormat);

于 2009-04-10T17:13:20.490 回答