QList应该是很好用的。这是理论。实际上也好用 。

我要把类放到QList能做到吗?

class XClient
{
public:
XClient();
XClient (const XClient &xc);
// bool operator<(const XClient& c1, const XClient &c2) const;

int operator==(const XClient & c2 )const;//比较数组的相等性
// int operator!=(const XClient &)const;//比较数组的不等性
// int &operator[](int);//下标运算符

int id;

public: //站点基本信息;
XCommStyle CommStyle ;//主通讯方式
XCommStyle BakCommStyle ;//备份通讯方式
XClientStyle ClientStyle ;//自动站采集器的类型
bool bManual ;//是否有人职守站
QString Name ;//站点名称

QString ID ;//区站号
double fX ;//台站站点的 经度

double fY ;//台站站点的 纬度

int nX ;//站点显示的 屏幕横坐标
int nY ;//站点显示的 屏幕纵坐标

};

这样一个类 ;

在头文件里面定义 ;

class XClientGroups
{
public:
    XClientGroups();
    static     QList<XClient> *pList;};//cpp文件前面必须要加这个要不然编译过不去;
  QList<XClient>* XClientGroups::pList ;
  XClient * XClientGroups::ppList ;
XClientGroups::XClientGroups()
{
    ppList=NULL;
}
通过参数把大量的类信息读出来。加到链表
pList里面去,结果在别的地方利用这个类可以。反正是static类型的。要用的时候先包含头文件 ,在直接打类名称两个冒号就能用这个pList了 ; 说实在的要把类加到列表里面。在程序任何地方访问这些列表是非常常用的一个问题。
要用的时候很简单了
int XClientGroups::mGetGroupsNames(QStringList & mlist)
{
    mlist.clear();
    if(pList==NULL || pList->count()<=0)
    {
        return 0;
    }
    QString strGroupName = "";
    int i=0; qDebug()<<pList->count();
    for(  i=0;i<pList->count();i++);
    {
        qDebug()<<"pList->count()";
        XClient xc = pList->at(i);//注意这里是全局的静态的指针;在任何地方用这个指针不出错。就这么搞定; 
         qDebug()<<xc.ID;
        strGroupName = xc.strGroupName;
          qDebug()<<strGroupName;
        if(!mlist.contains(strGroupName))
        {
            mlist.append(strGroupName);
        }
    }
    return mlist.size();
}

转载于:https://www.cnblogs.com/zhoujgssp/p/7560589.html

qt 开发新问题QList使用小记相关推荐

  1. QT开发的软件在新电脑上打开报错

    QT开发的软件在新电脑上打开报错 之前用QT开发的一个尿素泵总成电检台测试软件,拷贝到别的电脑上,运行时出现"Cannot load xxx.dll"的警告,于是想办法找各种解决办 ...

  2. QT开发(五十)——QT串口编程基础

    QT开发(五十)--QT串口编程基础 一.QtSerialPort简介 1.串口通信基础 目前使用最广泛的串口为DB9接口,适用于较近距离的通信.一般小于10米.DB9接口有9个针脚. 串口通信的主要 ...

  3. qt绘制运动物体_手写QT贪吃蛇,小白高薪捷径-Qt开发

    1. C/C++初学者的困惑 很多C/C++初学者,自学了很多年,考了很多证,开发水平仍停留在控制台小项目上,就业更是遥遥无期,进退两难. C/C++的最强大的地方,当然是开发高性能框架.高性能服务器 ...

  4. QT开发一款MD5校验工具

    这是一款基于QT开发的MD5校验工具,在这你可以学习到界面UI的设计方法,以及QT应对字符串的处理方法.以及如何去使用QT进行多线程的开发. 实现后的程序运行截图: MD5.pro工程文件 #---- ...

  5. 多条Qt开发常见问题及解决方法汇总

    1. 当编译发现大量错误的时候,从第一个看起,一个一个的解决,不要急着去看下一个错误,往往后面的错误都是由于前面的错误引起的,第一个解决后很可能都解决了. 2. 定时器是个好东西,学会好使用它,有时候 ...

  6. 基于Qt开发的网络诊断工具

    导语: 项目名称:基于Qt开发的网络诊断工具 开发环境:VS2008 QT版本:4.7 数据读入:用户自行选中的.ini配置文件 功能实现:解析.ini文件,实时检测相关的域名连通性以及DNS解析的结 ...

  7. 福利!100多条Qt开发常见问题及解决方法汇总!很长建议先收藏

    首先声明,本文并非原创,纯属搬运,内容来自一位叫做飞扬青春的大神的Gitee主页,主要是为了收藏下面介绍的100多个Qt开发经验.比如qss的ANSI编码.嵌套窗口中主窗口无法接收鼠标移动事件等,又比 ...

  8. qt开发教程视频c++入门自学qt5.5课程linux gui程序实战案例opia

    -//A25 QT教程/ ├──Qt 5开发教程 | ├──Qt初级教程 | | ├──第10课&基于Widget的GUI编程 – 其他控件 | | ├──第11课&基于Widget的 ...

  9. [转]使用QT开发GoogleMap瓦片显示和下载工具

    第一节 之前做项目的时候经常遇到需要大量地图背景数据,然后没有数据被逼着去Google上下载瓦片数据在拼接成整张影像的工作,其实遥感影像晚上有很多可以下载到的,但是大部分是作为研究用的,作为GIS的背 ...

  10. QT开发(六十六)——登录对话框的验证机制

    QT开发(六十六)--登录对话框的验证机制 一.验证码机制 为了避免被恶意程序***,程序通常要使用安全机制.验证码机制是提供产生随机验证码,由用户识别填写来判断用户有效性的安全机制. 验证码必须动态 ...

最新文章

  1. 尝试优化骨骼动画计算的意外收获——使用嵌入式汇编对float转int进行优化
  2. 将某个目录下的所有文件进行压缩
  3. jquery实现登录失败提示_浅谈jQuery的verify验证码
  4. Windows Azure Cloud Service (17) Role Endpoint
  5. c++制表符_在Linux命令行中将制表符(tab)转换为空格
  6. android json.out,Android 之 json数据的解析(jsonReader)
  7. Javascript button onclick和input type button在form中失效解决方案
  8. 我是一个尝试做自媒体的程序员
  9. Java彻底 - WEB容器的侦听具体解释 ServletContextListener
  10. Python基础——import(导入模块)
  11. paip.QQ音乐导出歌单总结
  12. Python编程实践之Choose
  13. python如何调用函数三次_python中如何调用函数
  14. 医院挂号系统源码(含数据库)
  15. Hyperledger Fabric架构详解
  16. vrf路由泄露原理和简单示例
  17. 快来看,你的盒子也能用OpenCV NPU后端啦
  18. 谷歌浏览器支持的音频和视频文件编码格式
  19. 4、编写程序,根据用户输入的数字转换成相应的中文的大写数字。例如,1.23转换为“壹点贰叁”。
  20. S-Nim (HDU 1536)组合博弈SG多组游戏

热门文章

  1. 关于父窗口、子窗口的操作(如关闭、打开、调用方法、刷新等等)
  2. Windows中使用Docker安装ClickHouse
  3. QA: Android 开发kotlin换行格式难看问题
  4. MySQL的Binlog与Redolog
  5. 41. Understand implicit interfaces and compile-time polymorphism
  6. C++ 简单的SQL注入过滤
  7. jdbc数据库连接池连接
  8. mysql c3p0 释放连接池_mysql – 如何阻止c3p0连接池隐藏连接异常的原因?
  9. (day 25 - 广度优先搜索 )剑指 Offer 32 - II. 从上到下打印二叉树 II
  10. python程序的运行过程_python代码是怎样运行的