当前位置: 首页 > wzjs >正文

徐州seo网站推广珠海网站建设平台

徐州seo网站推广,珠海网站建设平台,wordpress分类名插件,电商网站 案例QMultiMap&QHash&QList使用区别 场景&#xff1a;如何在一个集合中存储所有打开的 UI&#xff0c;并高效判断是否存在标题为 “abc” 的窗口&#xff1f; ✅ 1. 使用 QList<QWidget*> 示例代码&#xff1a; QList<QWidget*> uiList;// 判断是否存在 tit…

QMultiMap&QHash&QList使用区别

场景:如何在一个集合中存储所有打开的 UI,并高效判断是否存在标题为 “abc” 的窗口?

✅ 1. 使用 QList<QWidget*>
示例代码:

QList<QWidget*> uiList;// 判断是否存在 title == "abc" 的窗口
bool found = std::any_of(uiList.begin(), uiList.end(), [](QWidget* w) {return w && w->windowTitle() == "abc";
});

✅ 优点:
简单直接。

支持重复窗口。

遍历方便。

❌ 缺点:
查找是线性复杂度 O(n),窗口多时性能下降。

不支持通过标题快速定位窗口。

✅ 适用场景:
窗口不多时使用最合适。

有可能存在多个标题相同的窗口。

✅ 2. 使用 QMap<QString, QWidget*> (key 是标题)
示例代码:

QMap<QString, QWidget*> uiMap;
uiMap.insert("abc", someWindow);// 判断是否存在标题为 "abc"
bool found = uiMap.contains("abc");

✅ 优点:
查找复杂度为 O(log n)。

可直接通过标题定位窗口。

❌ 缺点:
标题不能重复,否则会覆盖。

不适合多个窗口标题相同的情况。

✅ 适用场景:
每个窗口标题唯一(如管理不同模块窗口)。

✅ 3. 使用 QMultiMap<QString, QWidget*>(支持多个同名窗口)
示例代码:

QMultiMap<QString, QWidget*> uiMultiMap;
uiMultiMap.insert("abc", w1);
uiMultiMap.insert("abc", w2); // 支持同名// 判断是否有 "abc" 标题窗口
bool found = uiMultiMap.contains("abc");

✅ 优点:
支持同名窗口。

依然可通过 key 快速查找。

❌ 缺点:
取出所有相同 key 的窗口需 values(“abc”)。

写法比 QList 稍复杂。

✅ 适用场景:
有多个同名窗口,但需要分类管理。

✅ 4. 使用 QHash<QString, QWidget*>
同 QMap,只是底层用哈希,查找是 O(1)。

示例代码:

QHash<QString, QWidget*> uiHash;
uiHash.insert("abc", someWindow);
bool found = uiHash.contains("abc");

✅ 优点:
查找是常数时间,性能最优。

❌ 缺点:
同样不能重复 key。

容器类型是否支持重复标题查找性能适用场景描述
QList<QWidget*>✅ 支持❌ O(n)最通用,窗口少时简单方便
QMap<QString, QWidget*>❌ 不支持✅ O(log n)窗口标题唯一
QMultiMap<QString, QWidget*>✅ 支持✅ O(log n)有多个同名窗口时
QHash<QString, QWidget*>❌ 不支持✅ O(1)标题唯一 + 性能敏感场景

✨ 建议选择:
✅ 少量窗口 + 简单需求 → 用 QList<QWidget*>

✅ 需要快速查找且标题唯一 → 用 QHash<QString, QWidget*>

✅ 同名窗口 + 分类管理 → 用 QMultiMap<QString, QWidget*>


文章转载自:

http://NVXI7Obf.ssjry.cn
http://m8DZUXij.ssjry.cn
http://r8jap8uJ.ssjry.cn
http://C1YDDJU0.ssjry.cn
http://AZFDF84n.ssjry.cn
http://VmHCSMnh.ssjry.cn
http://NnJyvw2D.ssjry.cn
http://cobBLisy.ssjry.cn
http://ZySFOhCi.ssjry.cn
http://mMZ0gedp.ssjry.cn
http://mit2fBK4.ssjry.cn
http://rjtJoRt5.ssjry.cn
http://VM4yu8Vl.ssjry.cn
http://4vgxwiOV.ssjry.cn
http://qCxPQlgt.ssjry.cn
http://ab8tTYcw.ssjry.cn
http://Eb8Kh7dT.ssjry.cn
http://GhaYSqeR.ssjry.cn
http://XWFlHgcd.ssjry.cn
http://QQy3CWcY.ssjry.cn
http://dzQFArlk.ssjry.cn
http://pYaUwZrA.ssjry.cn
http://71C9hP2j.ssjry.cn
http://Ny1RVX0E.ssjry.cn
http://KOqT5cPa.ssjry.cn
http://dpNHEfzj.ssjry.cn
http://kq5sH3Ev.ssjry.cn
http://NGzX7gEo.ssjry.cn
http://UL63qV8k.ssjry.cn
http://dWD7tJhE.ssjry.cn
http://www.dtcms.com/wzjs/717685.html

相关文章:

  • wordpress收不到网站首饰网站模板
  • 天津市建设厅注册中心网站长春在线制作网站
  • 做百度推广的网站吗著名的国外设计网站
  • 公司做网站的目的关键词歌曲歌词
  • 网站制作400哪家好网站添加什么东西才能和用户体验
  • 银川企业网站建设wordpress注册取消邮箱
  • 如何做微信ppt模板下载网站秦皇岛网站建设企业
  • 江苏建设科技网站代码高亮wordpress
  • 南阳建设网站制作大理州住房和城乡建设部网站
  • 网站被黑了怎么恢复企业网站优化电话
  • 互动网站设计与制作哈尔滨网站设计公司
  • 通化网站推广wordpress首页摘要设置
  • 温岭哪里有做网站的关键词搜索工具
  • 黄冈网站建设wordpress 随机阅读数
  • 手机网站吧wordpress免费中文主题
  • 网站服务器租用阿里云一年多少钱啊深圳大浪网站建设
  • 网站设计如何收费wordpress微信捐赠
  • 株洲网站制作与设计网站服务器容器
  • 做添加剂的外贸网站有哪些廊坊网站建设解决方案
  • asp.net门户网站项目怎么做制作网站的收获体会
  • 做别人公司的网站违法吗营销型网站制作培训
  • 网站seo链接购买W7如何安装WordPress
  • 哪家网站开发公司好网站显示速度的代码是什么情况
  • 免费网站建设自助建站云南网站设计
  • 自己做网站语言构建服务器鹰潭做网站的
  • 网站会员管理系统做一个网站flash收多少钱
  • 网站建设公司投诉电话完整网站开发看什么书
  • 代码模版 网站wordpress博客模板教程
  • 集团官网及站群网站建设免费网站是如何盈利的
  • 开发网站的软件域名注册商排名