保存应用程序第2部分的用户数据

时间:2011-05-30 17:00:45

标签: c++ qt user-interface

我的第一个问题是:我应该使用dom,sax或sqlite来保存用户输入到我的应用程序中的数据。我要回答的是使用DOM。

我的第二个问题是:当用户决定打开文件时,我应该如何将文件内容加载到应用程序中?一旦用户点击文件上的“打开”,它是否应该遍历整个文件并将所有数据分发到GUI中的正确位置?或者它应该只在用户点击某些区域时才打开它们?

我的第三个问题是:qt如何处理事情发生变化?我怎么知道用户何时更改了某些内容并要求他们保存文件?

如果您不明白,请告诉我,我会再次尝试解释。


示例:

  

我不仅阅读gui位置。   但那些内容。对于   实例。用户可以创建   包含编辑文本框的选项卡。和   这些选项卡与项目相关联   在列表中。当用户   单击用户列表中的项目   将提供一整套   新标签。每个标签都有一些   编辑表格。该文件需要   包含列表中的内容,选项卡   用户已在每个项目下创建   在该列表和每个的内容   与每个选项卡关联的选项卡   列表中的项目。

很抱歉,我发布了另一个与我上一个相似的问题,但另一个问题已经回答了,现在我需要一个新帖子。

2 个答案:

答案 0 :(得分:1)

问题2:这在很大程度上取决于您要处理的数据量。一步加载所有内容会容易得多。如果您期望复杂的文档,那么以增量方式执行它可能会更好,但我强烈建议从更简单的方法开始。

问题3:Qt不处理这个问题,除非小部件在修改时发出信号。你需要使用某种模型来做到这一点。您可以直接使用DOM文档作为模型,尽管它可以帮助抽象保存格式的可维护性。用户进行的每次更改都会导致模型发生变化。你需要检测何时,例如用户编辑一些文本,适当更新模型并跟踪自上次保存以来是否已更改。

答案 1 :(得分:0)

您希望通过解决方案实现什么目标?如果您只想设置Configuration,为什么不使用简单的Ini文件(QSettings类)。

我不知道您的应用程序,但您应该能够识别更改(假设用户更改了QLineEdit或点击了radioButton)。

QSettings还有一个“同步”方法,它“重新读取”​​你正在使用的文件。 Qt不会自己识别变化,你必须自己做。