Qt5下遍历QList的方法

这篇具有很好参考价值的文章主要介绍了Qt5下遍历QList的方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

lines定义如下 QMap<QString,Line> lines;
Line的定义如下

class Line{

protected:
    QString name;
    QColor color;
    QList<int> total_stations; // all statuib
    QList<QString> start_stas,end_stas; //start end station
    QList<QList<QString>>sta_list; //
public:
    Line(){};
    friend class SubwaySystem;
    friend class MainWindow;
    friend class SubwayControlWindow;
};
void SubwaySystem::statisticEdges(){
    /*
    在C++中,list是一个双向链表容器,它提供了许多用于访问和操作链表元素的方法
    。其中,at()函数用于访问链表中指定位置的元素。
    */

    for(auto &line:this->lines.values())
        for(auto &sta_list:line.sta_list){
            int len= sta_list.size();
            for(int i=0;i<len;i++){
                if(i>0) this->stations[sta_list.at(i)].addEdge(this->stations[sta_list.at(i-1)],line.name);
                if(i<len-1) this->stations[sta_list.at(i)].addEdge(this->stations[sta_list.at(i+1)],line.name);
            }
        }

}

但是 我们看到我们调用了保护成员sta_list
但其实lines也是保护成员 隶属于 SyswaySystem 类
for循环这个遍历函数也属于SyswaySystem类
但是为什么能够调用Line的保护成员呢

我们可以看到在public中
我们使用了friend class SyswaySystem 声明了友元类
这样 我们就可以访问Line的保护成员了文章来源地址https://www.toymoban.com/news/detail-703443.html

到了这里,关于Qt5下遍历QList的方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 三、Qt常用容器之QList

    1、QList介绍 介绍个锤子,有点累,摊牌了,这篇是水的,但是我觉得质量很高,因为我自己写不了这么详细,对,感谢某不知名网站编程指南,我直接白嫖,这篇实在是太多了,说句实话日常使用不久存个指针,然后遍历查找之类的,怎么能写这么多! 在开始讲解 QList 之前

    2024年02月03日
    浏览(29)
  • Qt5开发及实例V2.0-第七章-Qt图形视图框架

    7.1.1 Graphics View的特点 Graphics View框架结构的主要特点如下。 (1)Graphics View框架结构中,系统可以利用Qt绘图系统的反锯齿、OpenGL工具来改善绘图性能。 (2)Graphics View支持事件传播体系结构,可以使图元在场景(scene)中的交互能力提高1倍,图元能够处理键盘事件和鼠标事

    2024年02月07日
    浏览(48)
  • Qt5开发及实例V2.0-第四章Qt基本对话框

    首先介绍标准文件对话框(QFileDialog)、标准颜色对话框(QColorDialog)、标准字体对话框(QFontDialog)、标准输入对话框(QInputDialog)及标准消息对话框(QMessageBox),运行效果如图4.1所示。 按如图4.1所示依次执行如下操作。 (1)单击“文件标准对话框实例”按钮,弹出“文

    2024年02月07日
    浏览(106)
  • YOLOv5+QT5界面应用开发

    YOLOv5+QT5的UI界面开发 最终界面图: 本文章基于python3.7的Annaconda中虚拟环境开发: 1.1 配置YOLOv5环境 https://github.com/ultralytics/yolov5 下载yolov5程序后,虚拟环境下运行: activate v5 pip install -r requirements.txt 1.2 配置QT环境 pip install pyqt5 pyqt5-tools 使用pyqt5自带的图形界面设计工具:de

    2023年04月19日
    浏览(42)
  • 基于Qt5的图像交互控件开发(C++实现)

    博主近期看到海康VM、halcon以及visionpro视觉软件都包含一个图像智能交互控件,然后近期根据其中的技术原理,也基于Qt5仿照开发了一个类似的功能,包含矩形、旋转矩形、任意多边形、圆、圆环、扇环,直线卡尺以及圆卡尺等常用控件,图像智能交互是在计算机视觉领域中

    2024年02月05日
    浏览(58)
  • 统信UOS系统开发笔记(三):从Qt源码编译安装之编译安装Qt5.12.8

      上一篇,是使用Qt提供的安装包安装的,有些场景需要使用到自己编译的Qt,所以本篇如何在统信UOS系统上编译Qt5.12.8源码。     系统版本:      参考博文《获取下载Qt安装包,Qt源码全国网址备忘录(不用注册Qt账户,即可下载各版本Qt安装包和Qt源码包)》   

    2024年02月08日
    浏览(53)
  • Qt中QVector 、QList、QSet、QMap比较

    Qt为我们提供了一系列基于模板的容器类,来存储特定类型的项。这些容器类都是隐式共享的;被用作只读容器时,是线程安全的。 与STL类似,也分为序列式容器和关联式容器。 序列式容器有:QVector、QList、QLinkList、QStack、QQueue。对大部分程序来说QList都是一个很好的选择,

    2024年02月09日
    浏览(43)
  • win10+QT5.15+cryptopp562 完整配置开发

    1、准备如下几项内容:         a、WIN10环境下的QT5.15.2安装包,QTCreator对应版本安装。(自行安装)         b、cryptopp562安装包下载,官网:https://www.cryptopp.com/,这里没选择最新的8.7是因为mingw-32编译后的库文件使用有问题,有错误,但是5.6用同样的方式编译就可以正常使

    2024年02月10日
    浏览(35)
  • 嵌入式Linux Qt5 (C++)开发栏目概述

    本栏目开始介绍Linux系统下的Qt C++程序开发,资源是以嵌入式为切入点(现在Linux系统下的Qt C++程序开发好像就是应用于嵌入式),那就跟着一起学习 Linux系统下的Qt C++程序开发知识 ,再扩展一下 嵌入式 的知识吧。我这里默认已经 熟悉C++基本语法、熟悉Qt在windows下的使用方

    2024年02月12日
    浏览(43)
  • Qt5.15.2安卓Android项目开发环境配置

    官方下载:https://download.qt.io/archive/qtcreator/4.11/4.11.2/ 镜像下载:https://mirrors.cloud.tencent.com/qt/archive/qtcreator/4.11/4.11.2/ 官方更新器内部下载 参考:https://blog.csdn.net/weixin_41013202/article/details/129957693 https://adoptium.net/zh-CN/temurin/releases/ (1) Android SDK Platform 最新版(现在是33) (2)

    2024年02月14日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包