我正在编写一个程序,它将所有设置存储在 QSettings 对象中。现在我想让用户可以随时更改其数据的存储位置。显然,QSettings 不提供更改其范围并将其所有数据复制到新位置的能力,例如从注册表到 %APPDATA% 中的文件。
我知道的:
- QSettings::setPath() 在构造之前使用,不会影响现有对象。
- 复制运算符是私有的。我可以将 QSettings 子类化,但我担心由于其他线程同时写入而在复制操作期间丢失设置。
如何将我的程序设置即时移动和保留到新位置?如果可能的话,我真的很想用 QSettings 来实现这一点。