QRect 的 qHash 函数

2024-01-30

计算的最佳方法是什么qHash的值QRect?我需要使用QRect(有可能QRectF) 作为关键QCache。现在我正在使用这样的东西:

inline uint qHash(const QRect & r)
{
 return qHash(QByteArray::fromRawData((const char*)&r, sizeof(r)));
}

它似乎可以工作,但我不喜欢将其转换为一些原始字节,并且由于 QRect 不是一个简单的结构,因此在 Qt 的未来版本中这可能会早日崩溃。

顺便提一句。我不存储哈希值,因此它不必是持久的或跨平台的。但它确实需要可靠且快速。

Thanks.


我会简单地做return qHash(QString("%1,%2,%3,%4").arg(r.x()).arg(r.y()).arg(r.width()).arg(r.height())))

我还找到了这个解决方案:http://thesmithfam.org/blog/2008/01/17/using-qrect-with-qhash/ http://thesmithfam.org/blog/2008/01/17/using-qrect-with-qhash/(阅读评论)

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

QRect 的 qHash 函数 的相关文章

  • C 编程 - 文件 - fwrite

    我有一个关于编程和文件的问题 while current NULL if current gt Id Doctor 0 current current gt next id doc current gt Id Doctor if curre
  • WCF RIA 服务 - 加载多个实体

    我正在寻找一种模式来解决以下问题 我认为这很常见 我正在使用 WCF RIA 服务在初始加载时将多个实体返回给客户端 我希望两个实体异步加载 以免锁定 UI 并且我想利用 RIA 服务来执行此操作 我的解决方案如下 似乎有效 这种方法会遇到
  • GLKit的GLKMatrix“列专业”如何?

    前提A 当谈论线性存储器中的 列主 矩阵时 列被一个接一个地指定 使得存储器中的前 4 个条目对应于矩阵中的第一列 另一方面 行主 矩阵被理解为依次指定行 以便内存中的前 4 个条目指定矩阵的第一行 A GLKMatrix4看起来像这样 u
  • 动态加载程序集的应用程序配置

    我正在尝试将模块动态加载到我的应用程序中 但我想为每个模块指定单独的 app config 文件 假设我的主应用程序有以下 app config 设置
  • 按成员序列化

    我已经实现了template
  • 在结构中使用 typedef 枚举并避免类型混合警告

    我正在使用 C99 我的编译器是 IAR Embedded workbench 但我认为这个问题对于其他一些编译器也有效 我有一个 typedef 枚举 其中包含一些项目 并且我向该新类型的结构添加了一个元素 typedef enum fo
  • 秒表有最长运行时间吗?

    多久可以Stopwatch在 NET 中运行 如果达到该限制 它会回绕到负数还是从 0 重新开始 Stopwatch Elapsed返回一个TimeSpan From MSDN https learn microsoft com en us
  • 从Web API同步调用外部api

    我需要从我的 Web API 2 控制器调用外部 api 类似于此处的要求 使用 HttpClient 从 Web API 操作调用外部 HTTP 服务 https stackoverflow com questions 13222998
  • 如何使用 ICU 解析汉字数字字符?

    我正在编写一个使用 ICU 来解析由汉字数字字符组成的 Unicode 字符串的函数 并希望返回该字符串的整数值 五 gt 5 三十一 gt 31 五千九百七十二 gt 5972 我将区域设置设置为 Locale getJapan 并使用
  • OleDbDataAdapter 未填充所有行

    嘿 我正在使用 DataAdapter 读取 Excel 文件并用该数据填充数据表 这是我的查询和连接字符串 private string Query SELECT FROM Sheet1 private string ConnectStr
  • 如何从 appsettings.json 文件中的对象数组读取值

    我的 appsettings json 文件 StudentBirthdays Anne 01 11 2000 Peter 29 07 2001 Jane 15 10 2001 John Not Mentioned 我有一个单独的配置类 p
  • 堆栈溢出:堆栈空间中重复的临时分配?

    struct MemBlock char mem 1024 MemBlock operator const MemBlock b const return MemBlock global void foo int step 0 if ste
  • 根据插入顺序迭代哈希?

    不想对条目进行排序 使用它也不会保留顺序 foreach my val keys hash 默认情况下 Perl 5 中的哈希值是无序的 您可以使用tie http perldoc perl org functions tie html a
  • 将 VSIX 功能添加到 C# 类库

    我有一个现有的单文件生成器 位于 C 类库中 如何将 VSIX 项目级功能添加到此项目 最终目标是编译我的类库项目并获得 VSIX 我实际上是在回答我自己的问题 这与Visual Studio 2017 中的单文件生成器更改 https s
  • 这些作业之间是否存在顺序点?

    以下代码中的两个赋值之间是否存在序列点 f f x 1 1 x 2 不 没有 在这种情况下 标准确实是含糊不清的 如果你想确认这一点 gcc 有这个非常酷的选项 Wsequence point在这种情况下 它会警告您该操作可能未定义
  • 向现有 TCP 和 UDP 代码添加 SSL 支持?

    这是我的问题 现在我有一个 Linux 服务器应用程序 使用 C gcc 编写 它与 Windows C 客户端应用程序 Visual Studio 9 Qt 4 5 进行通信 是什么very在不完全破坏现有协议的情况下向双方添加 SSL
  • 为什么编译时浮点计算可能不会得到与运行时计算相同的结果?

    In the speaker mentioned Compile time floating point calculations might not have the same results as runtime calculation
  • C# - OutOfMemoryException 在 JSON 文件上保存列表

    我正在尝试保存压力图的流数据 基本上我有一个压力矩阵定义为 double pressureMatrix new double e Data GetLength 0 e Data GetLength 1 基本上 我得到了其中之一pressur
  • Windows 和 Linux 上的线程

    我在互联网上看到过在 Windows 上使用 C 制作多线程应用程序的教程 以及在 Linux 上执行相同操作的其他教程 但不能同时用于两者 是否存在即使在 Linux 或 Windows 上编译也能工作的函数 您需要使用一个包含两者的实现
  • 如何防止用户控件表单在 C# 中处理键盘输入(箭头键)

    我的用户控件包含其他可以选择的控件 我想实现使用箭头键导航子控件的方法 问题是家长控制拦截箭头键并使用它来滚动其视图什么是我想避免的事情 我想自己解决控制内容的导航问题 我如何控制由箭头键引起的标准行为 提前致谢 MTH 这通常是通过重写

随机推荐

  • 运行时警告:您正在以超级用户权限运行工作程序:绝对不建议这样做

    我在本地使用 django celery redis celery 4 4 0 它工作正常 但是当我对其进行 dockerizing 时 我收到上述错误 我使用以下命令在本地以及容器内运行 CMDs celery A nrn worker
  • Laravel 5.2 php artisan 路线不起作用

    在 Laravel 5 2 中 尝试使用显示路由列表php artisan routes 但是 它不起作用 它将显示以下错误 Symfony Component Console Exception CommandNotFoundExcept
  • 如何在emacs中分离alt键和meta键

    I would like to map a PgUp key on my keyboard to Alt modifier to produce A key sequence in Emacs so that I can map it to
  • APSW(或 SQLite3)在executemany 上插入非常慢

    插入行时 我发现 APSW Python 的 SQLite 解析器 存在以下问题 可以说我的数据是data 1 2 3 4 APSW 和 SQLite3 允许我做类似的事情 apsw executemany INSERT INTO Tabl
  • 重定向后子组件的“window.location.href”值错误 - 需要该值才能使图标正常工作

    我有一个图标组件 可以使用它获取 SVG 路径 get absUrl return window location href split 0 但问题是 如果您登陆未 找到 的页面并且发生重定向 图标停止工作并且检查代码显示它为每个图标放置的
  • 如何在 Graphics2D 上下文中对 Path2D 对象上的矩形进行动画处理

    我刚刚开始学习 Graphics2D 类的基础知识 到目前为止我能够绘制不同的对象和工具ActionListener实际上在屏幕上移动它们onKeyPress 到目前为止一切顺利 虽然我想做一些更复杂的事情 我想给一个path到我的对象并仅
  • System.NotSupportedException:不支持指定的方法

    是否可以获取用户的密码 请问如何 当我尝试过这段代码时 WebSecurity InitializeDatabaseConnection nectarys pc MonitoringN dbo Superviseur UserId matr
  • 是否可以使用 JavaMail 和 Apache Camel Mail (IMAP) 通过服务帐户连接 Microsoft Exchange 共享邮箱?

    我们使用 Apache Camel 通过 IMAP 连接到我们的收件箱 Apache Camel Mail 组件是基于 JavaMail 构建的 我们的测试服务器使用 Outlook 和 Office 365 我们使用 Outlook of
  • 字符串格式的日期名称以及未来的天数

    我需要一周中的某一天的名称 但取决于实际日期和未来的日期 例如 我需要今天的日期名称 然后是明天的日期名称 日期名称 2 天等 我编写了此代码 但效果不佳 那么有没有更好的方法如何在 android 中获取日期名称 public Strin
  • docker-compose 的端口号未更改

    我已经在 docker compose 中指定了端口映射 但它仍然无法正常工作 我仍然必须使用公开中未指定的端口来访问站点 下面是我的docker compose yml version 2 networks default externa
  • 试图理解 boost::beast multibuffer

    Beast websocket 示例将数据存储在多缓冲区中 该实现使用一系列一个或多个字符数组 大小不同 额外的字符数组对象被附加到 适应字符大小变化的顺序 顺序 当我查看界面时 我并不完全清楚它是如何工作的 如果我阅读描述 它可以被视为缓
  • 在 IOS7 中检测启用蓝牙的 iPhone 设备

    我在我的应用程序中使用核心蓝牙框架 我知道如何扫描外围设备并从中获取值 例如心率监视器 但我想要的是检索支持 BLE 4 0 和蓝牙功能的周围 iPhone 设备列表 我参考了下面的链接 使用 IOBluetooth 框架 http www
  • 将“is null”转换为 linq to sql 语句

    我在将以下 sql 复制为 LINQ 语句时遇到问题 select TableA from TableA left outer join TableAinTableB on TableA Id TableAId where TableBId
  • 使用 Azure AD 和 WebAPI 进行服务到服务身份验证

    我创建了一个 NET core Web 应用程序 它使用 Azure AD 作为身份 这一切都按预期正常工作 并且我使用 Authorize 装饰的任何内容都受到保护 我现在想要确保我的一个 API 控制器能够从外部服务访问 我遵循了本教程
  • 从外设更改 CBAdvertisementDataManufacturerDataKey

    有什么办法可以修改吗CBAdvertisementDataManufacturerDataKey from CBPeripheralManager 我明白我可以获得CBAdvertisementDataManufacturerDataKey
  • 在调试器中更改 Python 代码

    有没有允许在调试时更改Python代码的调试器 换句话说 发生运行时异常 调试器停止 我以任何我喜欢的方式更改代码 并告诉程序继续 我知道这种方法存在的问题 例如 如果我动态重新定义函数 对函数的引用仍然会指向旧定义 等等 我对此表示同意
  • 使用 FFaker::Internet.user_name 时指定最小长度

    我有一个规范一直失败 因为 FFaker Internet user name 生成的单词少于 5 个字符 如何在此 stmt 中指定最小长度 username FFaker Internet user name String ljust
  • 邮箱/垃圾箱验证[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我需要为注
  • UWP DatePicker 月份的自定义字符串

    我正在为非英语用户做UWP应用程序 我需要使用 DatePicker 但我不喜欢月份名称用英文书写 我也不想用数字值显示月份 如何设置自己的字符串列表以将其显示在月份选择器上 据我所知 DatePicker不提供月份自定义字符串的机制 如果
  • QRect 的 qHash 函数

    计算的最佳方法是什么qHash的值QRect 我需要使用QRect 有可能QRectF 作为关键QCache 现在我正在使用这样的东西 inline uint qHash const QRect r return qHash QByteAr