Qt foreach关键字用法(无师自通)
Qt 用法 关键字 foreach
2023-09-14 09:12:37 时间
Qt 提供一个关键字 foreach (实际是 <QtGlobal> 里定义的一个宏)用于方便地访问容器里所有数据项。
foreach 关键字用于遍历容路中所有的项,使用 foreach 的句法是:
foreach (variable, container)
使用 foreach 的代码比使用迭代器更简洁。例如,使用 foreach 遍历一个 QLinkedList<QString>
的示例代码如下:
- QLinkedList<QString> list;
- ...
- QString str;
- foreach (str, list)
- qDebug() << str;
用于迭代的变量也可以在 foreach 语句里定义,foreach 语句也可以使用花括号,可以使用 break 退出迭代,示例代码如下:
- QLinkedList<QString> list;
- ...
- foreach (const QString &str, list) {
- if (str.isEmpty())
- break;
- qDebug() << str;
- }
对于 QMap 和 QHash,foreach 会自动访问“键-值”对里的值,所以无需调用 values()。如果需要访问键则可以调用 keys(),示例代码如下:
- QMap<QString, int> map;
- ...
- foreach (const QString &str, map.keys())
- qDebug() << str << ':' << map.value(str);
对于多值映射,可以使用两重 foreach 语句,示例代码如下:
- QMultiMap<QString, int> map;
- ...
- foreach (const QString &str, map.uniqueKeys()) {
- foreach (int i, map.values(str))
- qDebug() << str << ':' << i;
- }
注意,foreach 关徤字遍历一个容器变量是创建了容器的一个副本,所以不能修改原来容器变量的数据项。
相关文章
- Qt之QLabel
- Qt之自定义界面(窗体缩放-跨平台终极版)
- QT-Qt设置背景图片
- Qt对WIN目录的操作(包括子目录)
- s3c2410上搭建QT/Embedded4.8.5开发环境(二)--安装arm平台qt库qt-everywhere-opensource-src-4.8.5
- s3c2410上搭建QT/Embedded4.8.5开发环境(七)--命令行开始第一个Qt程序
- Qt音视频开发46-视频传输UDP版
- Qt编写自定义控件48-面板窗体控件
- Qt编写的项目作品29-RTSP播放器+视频监控(海康SDK版本)
- Qt编写安防视频监控系统45-图文报表
- Qt QVariant的用法
- Qt Xlsx的基本使用
- Qt comboBox控件的三种基本用法
- Qt QMap简单用法
- Qt 事件过滤器原理(installEventFilter函数)
- Qt QMdiArea和QMdiSubWindow的基本用法
- Qt双缓冲机制与实例
- Qt串口通信接收数据不完整_qt串口接收数据
- Qt开发-QT Quick
- C++ Qt开发——写日志文件
- QT信号槽机制
- Qt学习: QListWidget程序示例
- 解决Ubuntu系统安装QT出错的问题:qt.qpa.plugin: Could not load the Qt platform plugin “xcb“ in ““ even though it
- qt MVC(一)
- 【Qt】随记1:#if 1/0 #else #endif的用法