Qt4 QSettings保存枚举值(例如Qt::CheckState)

2023-12-21

我想在 QSetting 中保存 QCheckBok 的状态,我可以将其值转换为 int 但也许存在更简单和正确的方法来做到这一点?

这是我的代码:

QSetting setting;
Qt::CheckState checkState;
//...
checkState = (Qt::CheckState)setting.value("checkState", Qt::Unchecked).toUInt();
//...
setting.setValue("checkState", (uint)checkState);
setting.sync();

首先,尽量避免 C 风格的强制转换。例如,替换以下行:

checkState = (Qt::CheckState)setting.value("checkState", Qt::Unchecked).toUInt();

有了这个:

checkState = static_cast<Qt::CheckState>(setting.value("checkState", Qt::Unchecked).toUint());

你施放的线checkState to a uint也应该改变。

其次,QSettings 依赖于 QVariant 来设置和检索值。通常可以使用 Q_DECLARE_METATYPE 宏扩展 QVariant 以支持其他类型。这是文档:

http://doc.trolltech.com/4.6/qmetatype.html#Q_DECLARE_METATYPE http://doc.trolltech.com/4.6/qmetatype.html#Q_DECLARE_METATYPE

然而,这种机制似乎不能与枚举一起正常工作(当您调用value()QVariant 上的成员函数)。所以你现在拥有的(减去 C 风格的铸造)就很好了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Qt4 QSettings保存枚举值(例如Qt::CheckState) 的相关文章

  • IntelliJ IDE(Rider、Android Studio...)-如何隐藏属性/方法/等上方的“使用”链接

    IntelliJ Rider IDE 版本 2022 1 上面的类属性或方法我有这个链接称为 usages 如何转动 usages 链接关闭 他们快把我逼疯了 我不知道这些东西叫什么 所以谷歌搜索没有给我任何结果 我浏览了 IntelliJ
  • 如何从首选项屏幕返回到主要活动?

    我有一项主要活动和一项偏好活动 在我的第一个活动中 我调用菜单并通过调用startActivityForResult继续preferenceActivity case R id settings startActivityForResult
  • Qt 颜色选择器小部件?

    我有一个QDialog向用户提供一些选项供其选择的子类 这些选项之一是颜色 我见过QColorDialog https stackoverflow com a 1972272 2062384 我需要一些更简单的东西 这也是一个常规小部件 这
  • Selenium 在 Firefox 中下载 PDF 的问题

    我正在结合 Firefox 61 0 和 Geckodriver 0 21 0 将我们的内部 Java Selenium 框架升级到最新版本 3 14 0 当我使用 Firefox 自动下载 PDF 文件时遇到问题 例如在这个link ht
  • 枚举实用程序库

    我正在寻找一个开源库或用于在 Net 中使用枚举类型的示例 除了人们用于 Enum 的标准扩展 TypeParse 等 之外 我还需要一种方法来执行操作 例如返回给定枚举值的 Description 属性值或返回具有 Description
  • 是否可以在没有接收器实例的情况下将信号连接到静态插槽?

    是否可以在没有接收器实例的情况下将信号连接到静态插槽 像这样 connect object SIGNAL some STATIC SLOT staticFooMember 有一个QApplication closeAllWindows Qt
  • iOS 启动设置 -> 限制 URL 方案

    我最近发现了一个很棒的iOS5自定义设置URL方案 这可以在这个伟大的website http handleopenurl com scheme apple settings app 我发现这很有效 将用户从我的应用程序引导到 设置 应用程
  • 在 Eclipse 中更改概览标尺颜色

    如何更改概览规则背景Eclipse 3 4 0 I20080617 2000 中的颜色 编辑窗口右侧的垂直条 带有一些注释 常规 gt 编辑器 gt 文本编辑器 gt 注释仅允许更改标记本身的颜色 而不是整个栏的背景 看来我的网络搜索能力越
  • 在 C#/.NET 中持久存储设置/变量

    好吧 这是一个全新的问题 所以请原谅我 存储变量以使它们持久且可恢复的最佳方法是什么 我有一个小型应用程序 它使用大约 10 个变量 字符串和小数 作为设置 目前 我将它们全部转换为字符串 如果需要 将它们放入数组中并将数组序列化为文件 如
  • 如何以编程方式显示“清除默认值”?

    现在我正在开发一个家庭启动器应用程序 我想清除默认家庭启动器的默认设置 例如 三星主页 即 我想展示Settings gt Applications gt Manage Application gt Samsung Home gt clea
  • 在 Android 4.2 中写入全局设置

    Android 4 2引入了一个新类 设置 全局 http developer android com reference android provider Settings Global html 现在保存了一些以前的设置设置 安全 ht
  • 如何在.NET中针对不同环境使用不同的.settings文件?

    NET 允许您使用 settings 文件来管理应用程序设置 我想单独存储生产 开发和测试设置 我可以这样做 EnvironmentSettings environmentSettings get the current environme
  • 为什么我无法使用 Qt 中的 QXmlStreamReader 解析 XML 文件?

    我试图弄清楚 QXmlStreamReader 如何适用于我正在编写的 C 应用程序 我想要解析的 XML 文件是一个大字典 具有复杂的结构和大量的 Unicode 字符 因此我决定使用更简单的文档尝试一个小型测试用例 不幸的是 我碰壁了
  • QNetworkManager 默认情况下是否接受压缩回复?

    我在用Q网络管理器 https doc qt io qt qnetworkaccessmanager html从服务器获取文件 但是我不知道文件在传输过程中是否使用标准 gzip 压缩进行压缩 如果不是 如何让它们下载压缩文件 我该如何去检
  • iPhone更新应用程序版本(在“设置”中)[重复]

    这个问题在这里已经有答案了 可能的重复 如何在应用程序的设置包中显示应用程序版本修订 https stackoverflow com questions 877128 how can i display the application ve
  • 如何使用 QWebElement 设置 input(type="file") 的值?

    我正在尝试将照片上传到vk com https vk com using QtWebKit https qt project org doc qt 4 8 qtwebkit html模块 我面临的问题是无法正确填写input type fi
  • 无法更改 Visual Studio 2013 中的字体

    我曾经可以通过以下方式更改 Visual Studio 2013 的字体和颜色Tools gt Options then Environment gt Fonts and Colors 最后显示文本编辑器的设置 但是 现在我无法显示文本编辑
  • 安装多个版本的 Qt 库

    我在windows中安装了QtSDK 它的Qt库版本是4 7 0 现在我想为 mingw 和 VS2008 安装 Qt 库版本 4 8 2 我怎样才能做到这一点 如何向QtCreator引入多个版本 注意 我已经从以下位置下载了库http
  • Objective-C / C 给出枚举默认值

    我在某处读到过关于给枚举默认值的内容 如下所示 typedef enum MarketNavigationTypeNone 0 MarketNavigationTypeHeirachy 1 MarketNavigationTypeMarke
  • Qt GUI 应用程序中的控制台输出?

    我有一个在 Windows 上运行的 Qt GUI 应用程序 它允许传递命令行选项 在某些情况下我想向控制台输出一条消息 然后退出 例如 int main int argc char argv QApplication a argc arg

随机推荐

  • 使用正则表达式验证十六进制字符串

    我正在使用正则表达式验证字符串是否为十六进制 我使用的表达是 A Fa f0 9 当我使用这个时 字符串AABB10被识别为有效的十六进制 但字符串10AABB被认定为无效 我该如何解决这个问题 您很可能需要一个 so regex a fA
  • ChartJs自定义工具提示位置

    那里 我使用 ChartJS 并自定义工具提示 但第一个和最后一个工具提示的位置有问题 看 I suppose that in order to fix the problem I need to use the https www cha
  • 有没有办法在 C++ 中延迟初始化成员变量(类)?

    我有 Java 背景 我有以下程序 include
  • 在 Java 中强制释放大缓存对象

    我使用一个大型 数百万 条目哈希图来缓存算法所需的值 键是两个对象的组合作为一个长 由于它不断增长 因为映射中的键发生变化 因此不再需要旧的键 因此能够强制擦除其中包含的所有数据并在执行期间重新开始会很好 有没有一种方法可以有效地做到这一点
  • 是否有元组的 zipWith 类似物?

    初步说明 这是SeanD 删除的问题 https stackoverflow com q 50020370 2751851 就像有一样zipWith对于列表 GHCi gt zipWith 1 2 3 4 4 6 感觉应该有一些类似于元组的
  • 如何在 lambda 中进行 sql 连接?

    有时 我会偶然发现这个问题 我使用了 lambda 连接的子集 鉴于我可以使用任何 LINQ 扩展 我应该如何实现以下连接 为了简单起见 表定义为 CREATE TABLE dbo TableA Key INT IDENTITY 1 1 N
  • 可可中的客户端到客户端消息传递?

    嗯 现在我尝试在两个客户端之间而不是客户端到服务器之间进行消息传递 因此 如果我没记错的话 我们无法单独启动服务 但如何查看是单独设置还是两者都连接到同一服务 我的启动服务的代码 void startService Start listen
  • 解析错误:语法错误,意外的 T_STRING 59 [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 请修复这段
  • 使用 pywin32 获取 GUIThreadInfo()

    我正在尝试遵循这个答案 https stackoverflow com a 11901591 5510469我已经到了 a 应该打电话的地步 GetGUIThreadInfo 但我找不到pywin32 文档 http timgolden m
  • 读取解决方案 sln 的所有 csproj 项目的引用列表(以编程方式)

    我有解决方案 sln 其中有许多 csproj 项目 有人知道如何以编程方式读取 VS2008 的 sln 文件中所有 csproj 项目的引用列表吗 csproj 文件只是 XML 文件 为此 您可以使用 NET 框架中的 XDocume
  • setTimeout() 的 JavaScript 执行顺序

    假设我有以下代码 function testA setTimeout testB 1000 doLong function testB doSomething function doLong takes a few seconds to d
  • CMP 证书请求

    我使用下面的代码将 CMP 证书请求发送到端点 public static void main String args try System out println In final BigInteger certReqId BigInte
  • 如何使用flexbox调整div的宽度以适应内容

    我想适应 flexrowdiv 的宽度到内容 但我无法使用 flex 设置它 HTML div class fullwidth div class sidebar p sidebar p p sidebar p p sidebar p p
  • Android 使用数据绑定库动态包含布局

    我正在使用带有数据绑定库的 Android 应用程序的 MVVM 框架 我有一些可重用的组件 应该包含所有活动 FE工具栏 菜单 浮动操作按钮 我想创建一个通用活动 它将实现所有这些可重用功能 然后每个活动类都将从这个通用活动继承 我还有
  • 如何获得工具栏上的“向上”按钮?

    这是一个简短的问题 我试图强制操作栏 由工具栏使用 使用 LTR 对齐方式 我已经成功地使布局本身使用 LTR 但没有使用 向上 按钮 正如我所做的那样 here https stackoverflow com q 22602453 878
  • 如何在 Apache 2.4.18 服务器中实现没有 ssl 的 http2

    我制作了一个使用 HTTP 2 协议的网站 该网站在 Apache 2 4 18 HTTP 服务器上运行 目前我已经使网站启用了 SSL 因为我在某处读到 HTTP 2 默认情况下需要 SSL 我可能不需要确保我的网站安全 所以我不想花钱购
  • Javascript 设置左侧样式不起作用

    xpos xpos 1 document getElementById img style left xpos 我无法将 xpos 值分配给 JavaScript 中的 left 属性 尝试向其中添加一个单位 否则 由于 CSS 无效 浏览
  • Flutter中如何根据AppBar内容在运行时动态改变AppBar高度?

    我正在尝试实施一个颤动标记 https flutterawesome com a textfield flutter package with tagging functionality 在 的里面AppBar 我设法添加了标记TextFi
  • Git 恢复已发布的提交,同时保持未来合并的能力?

    我们有两个同时存在的分支 如下所示 A B C D H gt Branch A E F G gt Branch B 问题是我们决定暂时不想将分支 B 合并到分支 A 这是一个错误 因此 我们 在分支 A 上 恢复了合并提交 git chec
  • Qt4 QSettings保存枚举值(例如Qt::CheckState)

    我想在 QSetting 中保存 QCheckBok 的状态 我可以将其值转换为 int 但也许存在更简单和正确的方法来做到这一点 这是我的代码 QSetting setting Qt CheckState checkState check