问题标签 [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.

0 投票
0 回答
375 浏览

c++ - 使用 QSettings 自定义类到 XML

我想使用 QSettings 将自定义类保存到 XML。但我总是得到没有结构成员的 XML。

我得到这个输出:

XML 看起来像这样:

如何使用 QSettings 将自定义类的结构成员保存到 XML?

更新:对不起,我忘了提,这应该在 Qt4 中完成。

0 投票
2 回答
1174 浏览

python - Qt - pyside - saveGeometry() saveState()

我有一个 Qt 程序,目前我使用 Qsettings.saveGeometry() 和 Qsettings.saveState() 函数来允许程序恢复用户在上一个会话中设置的布局。然而,并非所有几何图形都被保存,只有主窗口而不是子窗口,特别是停靠窗口的浮动位置和停靠窗口内的表格列宽。

该线程似乎试图提供答案(但在 C++ 中而不是 python 中):http ://www.qtforum.org/article/38362/save-geometry-of-all-widgets-recursively.html

我正在用 Python 编码,而我的 C++ 不是很好,所以我不能完全按照上面链接中的示例进行操作。

有谁知道这种方法是否有效?

一般来说,是否可以使用 Qsettings 来存储停靠窗口的浮动位置和表格列宽?

任何人都可以建议一个基于 python/pyside 的解决方案吗?

非常感谢。

罗恩

0 投票
1 回答
2898 浏览

android - 如何以及在哪里保存 Android 上的 QSettings?

我开始为我的程序制作一个设置表单,但我有点卡在设置数据上。我可以做一个QSettings实例,但那我应该怎么做呢?

0 投票
1 回答
2029 浏览

android - QSettings 中的值更改时的事件?

我不确定如何将设置更改立即投射到我的应用程序上。一种方法是QEvent使用eventFilter.

这是一个选择吗?有没有这样的事件?如果监听事件是个坏主意,那么正确的解决方案是什么?

0 投票
1 回答
673 浏览

qt - QT - config.ini 在哪里

我想将 db 的连接保存在Config.ini文件中。我创建了它并添加到项目中(作为“其他文件”) - 文件中出现了合适的记录.pro

我从代码开始:

然后我创建了 2 个函数

  1. 保存设置:

    /li>
  2. 用于阅读设置

    /li>

我最初打电话给 1。然后是 2。

似乎该.ini文件已创建并且我可以从中读取,但这不是我添加到项目中并且我在它应该是的文件夹中找不到它。

它可以工作,但我需要将它包含到项目中,并且我需要能够“控制”它。

0 投票
1 回答
197 浏览

qt - 使用 QTextStream 反序列化?

需要:从/向人类可读/可编辑文件读取/写入标准 Qt 类型的结构。

试过:QSettings。让它工作起来相当容易。问题:QSettings 会定期自动调用 QSettings::sync(),并且在 dtor 处。我需要确保仅根据请求更新设置文件,并且仅根据请求修改运行时数据结构。

试过:QDataStream。问题:不是人类可读/可编辑的。

尝试:手动序列化和反序列化,使用标准 readline 和 QString::toInt() 等。我现在必须支持 QSettings 支持的类型,但 QString 没有 'toFoo()' 方法。这种方式将是更多,更多的编码。

有没有办法在不使用 QSettings 的情况下序列化和反序列化人类可读的数据?关于它的一切都是违反要求的。这些文件应该以不同的方式命名。访问应该受到不同的控制。

如果有简单的方法来阻止同步(),那可能就足够了。我们可能可以解决其他任何问题。给我带来最多问题的是“同步”。

0 投票
1 回答
478 浏览

c++ - Qt:C++:恢复弹出对话框的几何图形

我正在尝试保存弹出对话框的几何形状,然后在调用弹出对话框时将其恢复(当应用程序仍在运行时)。

但我想不通。

代码运行没有错误。但是弹出窗口的窗口每次打开时都会垂直改变它的位置。除非我关闭整个应用程序然后重新打开它,否则弹出窗口永远不会回到屏幕中心的原始位置。

我正在尝试使用QcloseEvent,QSettingsrestoreGeometry. 但是有些不对劲,请帮忙。

这是MainWindow.cpp

这是AddMembersDialog.cpp

0 投票
1 回答
969 浏览

c++ - Unix Qt 5.6 QSettings 找不到 QSettings::SystemScope 配置文件

链接到 Qt 错误报告QTBUG-53313

从 Qt 5.5 迁移到 Qt 5.6会出现QSettings的问题,它无法在系统范围内找到 QSettings 配置文件。在下面的 main.cpp 中,QSettings 以各种方式初始化,然后查询其属性:

系统上不存在ASSUMED_USER_CONFIG文件。

ASSUMED_SYSTEM_CONFIG文件确实存在于系统中并包含:

使用 Qt 5.5 编译,程序返回:

使用 Qt 5.6 编译,程序返回:

这里有几个问题:

使用 Qt 5.5 编译时,所有情况(a、b、c、d)的设置“文件名”都按预期构造。案例 'a' 和 'b'退到 ASSUMED_SYSTEM_CONFIG 文件,因为 ASSUMED_USER_CONFIG 文件不存在。因此,“the_value”可以从设置文件中正确检索。

但是,当使用 Qt 5.6 编译时,设置 'filename' 似乎在 'c' 和 'd' 的情况下构造不正确(正确的路径被附加到“/home/user/Qt5.6/5.6/gcc_64”) . 因此,无法从设置文件中检索“the_value”。

我没有覆盖 Qt Creator 中的任何默认环境变量,并且 Qt 5.6 是由 Qt 维护工具自动安装的。我知道我可以使用环境变量 XDG_CONFIG_HOME 来设置 QSettings::SystemScope 文件的绝对路径,但我认为我不应该这样做。

要重申主要问题,我如何将 ASSUMED_SYSTEM_CONFIG 文件(即 QSettings::SystemScope)与 QSettings 一起使用?

有没有其他人反对这个?我已经在两台不同的机器上对此进行了测试。

0 投票
0 回答
259 浏览

qt - QVariant 中的 ASSERT 失败:“尝试构造未知类型”,文件 kernel\qvariant.cpp,第 980 行

Qt 5.5.0

我正在将我的一个 gui 应用程序切换到控制台。我在控制台模式下启动 QSettings 对象时遇到问题。

这是gui中的代码,它工作正常:

这是控制台的代码

控制台代码在调用 Setts->value 时失败,并出现错误:QVariant 中的 ASSERT 失败:“尝试构造未知类型”,文件 kernel\qvariant.cpp,第 980 行。

在调试时,我在输入类构造函数时注意到警告:找不到“QSettings”值的虚拟表的链接器符号。

我尝试了多种方法,尽管文件存在,但 QSettings 不会在其构造函数中初始化值。调用 Setts->contains("Localization") 也会给出同样的错误。但是如果我在构造函数之后使用 Setts->setValue,它工作正常。我该怎么做才能使 QSettings 在构造函数中初始化?

设置.ini

0 投票
1 回答
53 浏览

c++ - Qsettings 只能存储一次价值?

我正在使用 Qsetting 来存储最后使用的值。我的代码只适用于一个领域。这意味着当我为第二轮应用相同的逻辑时它只工作一次,它不会这样做。

文件io.cpp

文件io.h

主文件