问题标签 [qsettings]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
key - QSettings 从 INI 文件中读取多个相同的键
我正在使用 QSettings 从 INI 文件中读取键/值对(必须是 INI 格式)。我有一种情况,我必须使用相同的键存储零个或多个键/值对;例如:
QSettings 可以接受吗?如何使用 QSettings 检索所有这些键/值对?(它会全部作为 QString 列表返回吗?)
c++ - QSettings 不区分字符串和整数值
我正在使用文件支持的QSettings
对象写入和读取字符串和 int 值。当我后来尝试从不同的进程中读取值时,这些值被读取为字符串而不是 int。
这是我用来写值的代码:
这是创建的文件:
这是我用来读取值的代码:
如果我从同一进程运行此代码:
如果我从不同的进程运行此代码:
我知道可以在读取类型后转换类型。不幸的是,此解决方案将需要修改我不想修改的 Windows 遗留跨平台代码,例如多次调用RegQueryValueEx()
.
是否可以存储和读取字符串和整数的类型信息?
例如,字符串会有引号""
,而整数不会:
这个问题在 Linux 上的 Qt 4 和 Qt 5 上都存在。
android - QSettings 在 Android 下的 Qt 上无法正常工作
我想在运行在 Android 上的 qt 应用程序中保存一些用户凭据。我像这样使用 QSettings :
我重新启动应用程序并在 initialize() 方法中拥有:
用户名和密码变量不是从 QSettings 中读取的。
相同的代码在 Windows 上运行。
谢谢
macos - OS X 10.9 上的 QSettings - 无法找到/清除它
我有一个在 OS X 10.9 上运行的基于 Qt (4.8.5) 的应用程序。该应用程序使用 QSettings 类指定应用程序名称和公司。Plist 文件由 QSetttings 在以下位置创建:
该应用程序在保存/恢复首选项方面运行良好。然后我退出应用程序,删除 *.plist 文件,再次运行应用程序,瞧——它恢复了它的首选项!基于什么文件?热删除它?
我无法在 QSettings 类的 Qt 文档中找到答案。
qt5 - 如何停止 QSettings 更改设置文件中键=值对的顺序?
在我的程序中,我有一个 Microsoft 的 INI 样式设置/配置文件,该文件是使用方便的类创建、编辑和存储的,但用户可以使用程序本身或QSettings
任何她想要的文本编辑器手动编辑此文件,例如. 键=值对出现的顺序很重要。问题是每当我尝试在关机时存储更改时,键=值对的顺序会更改为随机顺序,并且似乎无法停止更改它。为了澄清,这里是一个配置文件的示例:gedit
vim
QSettings
更改为:
是否可以避免更改顺序?为什么Qsettings
会有这样的行为?
macos - QSettings mac 和 plist 文件
我使用类存储我的设置QSettings
,有时它会给我一种奇怪的行为。
我用它来添加一个值:
这将删除所有值:
它似乎随机工作。有时它会在文件中添加或删除值.plist
(我使用检查过_settings.fileName()
),有时没有任何变化。
我的问题是隐含的,是我缺少什么以及如何使其正常工作?
qt - Qt qsettings 将值保存在引号中
我尝试在ini文件中保存一些值,但我只保存一个值没关系,例如:
- AAA=BBB
但是当我尝试保存这样的几个值时,我发现了一个问题:
- AAA=BBB;CCC
没关系,如果我想保存,但如果我想读取这个值,我只会得到 BBB。我找到了这个问题的解决方案,如果值保存在引号中,它将被正常读取:
- AAA="BBB;CCC"
但是,我不知道如何在引号中保存价值。我使用以下代码来保存值:
我尝试使用 ASCII 符号和“\””保存,但它不起作用。保存代码:
阅读代码:
ini 文件:
[设置]
CommonIncludes="C:/dev/ObfOr/Workset_latest;C:/dev/ObfOr/Workset_latest/Demo"
c++ - 在 QT 中启动最小化的应用程序后恢复最大化/正常窗口
我的 Qt 应用程序有问题。我可以毫无问题地保存和恢复我的应用程序的 qeometry。问题是当我尝试在关闭事件中保存最大化应用程序的几何图形时,然后我尝试启动一些最小化的应用程序(类似于“启动时运行最小化”)。当我这样做并单击任务栏上的图标时,窗口将作为普通窗口打开(未最大化)。
我可以想象(并编写)一些解决方法,但是使用所有 Gui 逻辑很容易犯一些错误,我更喜欢一些本机方式。当我可以在最小化后设置该窗口时,我正在寻找类似参数的东西应该最大化或正常。
当我启动应用程序最大化时我没有这个问题,接下来我最小化窗口并再次最大化。在这种情况下,一切正常。问题仅在启动时。
它看起来像小细节,但如果我们考虑人们每天使用的应用程序并且他们不能每天都有一些窗口,那就大了。
编辑:
几个小时后我放弃了。这是我的解决方法。尚未经过深入测试,但将来可能有人需要它。如果我发现一些错误或更好的解决方案,我会编辑它。
qt - 在多个类中处理系统范围 QSettings 的最佳方法
我有多个类都需要访问 QSettings。如果它们不存在,那么拥有一些标准化的密钥会很好。它还需要是系统范围的,这需要创建 QSettings 的实例。我当前的实现是一个所有其他类都包含的类。
虽然这确实意味着在任何地方都包含这个类,但我相信这会增加开销。
把这个类放在外部是个好主意吗?静电呢?
谢谢!
windows - 如果缺少 QDockwidget,QSettings 恢复会导致应用程序在 show() 上冻结
我有一个加载 .dll 的 Qt 应用程序,该应用程序又会将QDockwidget
小部件添加到QMainWindow
. 为了保持尺寸和几何形状,我将它们保存在QMainWindow
在启动时我读回了设置
就在打电话之前show()
。
当我运行应用程序时,关闭它,然后删除其中一个 dll(实际上删除了QDockwidget
以前在启动时加载的),应用程序将show()
在QMainWindow
. 我可以通过删除注册表文件夹(我在 Windows 中)使应用程序正常启动HKEY_CURRENT_USER\Software\MyCompany\MyApplication\MainWindow
,但我丢失了存储在那里的所有其他信息。
我想要的是让 UI 出现,好像丢失的东西QDockWidget
被隐藏并且永远无法恢复,而不是破坏所有几何和状态信息的废话。
有没有人看到这个问题?竟然解决了!?!我将不胜感激任何提示、提示或解决方法!
干杯