匿名对象调用与使用容器一次性添加多个类的方法

在这里插入图片描述
源代码-编译-生成目标代码-链接(用到一些库代码和启动代码)-生成可执行文件
在这里插入图片描述

1.使用容器一次性添加多个类的方法

QList 和QStringList QStringlist的父类是Qlist
QList<容器中的数据类型> 容器变量名
给容器中装数据,采用左移运算符。

 setWindowTitle("heros demo");
    //treewidget
     //设置水平头  QstringList可以利用匿名对象,追加左移运算符添加
    ui->treeWidget->setHeaderLabels(QStringList()<<"英雄"<<"英雄介绍"<<"大招");//匿名对象调用,Qstringlist是类名
            //treewidget是指针名
    QTreeWidgetItem *liitem=new QTreeWidgetItem(ui->treeWidget,QStringList()<<"战士");
    QTreeWidgetItem *sxitem=new QTreeWidgetItem(ui->treeWidget,QStringList()<<"法师");//他都已经被指定在treewideget里面了
            //ui中创建的treewidget,在使用它的指针时,要用ui去调用一下,否则不能直接找到treewidget这个指针
        //加载顶层的节点
   //ui->treeWidget->addTopLevelItem(liitem);
   //ui->treeWidget->addTopLevelItem(sxitem);
           QList<QTreeWidgetItem *> list; //这个<>里面写的是这个容器的数据类型,这块数据类型不知道怎么写
                    //记住这个写法,将*写在数据类型后面

           ui->treeWidget->addTopLevelItems(list<<liitem<<sxitem);

     //追加子节点
   QTreeWidgetItem *zsitem=new QTreeWidgetItem(QStringList()<<"猴子"<<"可以eq连招,中间加一个平a配合w技能"<<"大闹天宫");
    QTreeWidgetItem *fsitem2=new QTreeWidgetItem(QStringList()<<"剑姬"<<"可以eq连招,中间加一个平a配合w技能"<<"大闹天宫");
    liitem->addChild(zsitem);
    QStringList herol2;
    herol2<<"瑞兹"<<"EQ二联打出爆炸aoe伤害,w控制"<<"时空旋转";
    QTreeWidgetItem *fsitem =new QTreeWidgetItem(herol2);
    //sxitem->addChild(fsitem);
    QList<QTreeWidgetItem *> list2;

    list2<<fsitem2<<fsitem; //给容器里面放东西,都采用左移运算符的操作方式
    // 一次性添加多个,就必然会使用到容器,有addchildren函数
    sxitem->addChildren(list2);

}

注意这块数据类型在前,*号在后,注意别写反

QList<QTreeWidgetItem *> list; //这个<>里面写的是这个容器的数据类型,这块数据类型不知道怎么写
                    //记住这个写法,将*写在数据类型后面

QList::iterator insert(qsizetype i, qsizetype count, QList::parameter_type value)
在列表中的索引位置 i 处插入值的 count 个副本。

QList<double> list;
list << 2.718 << 1.442 << 0.4342;
list.insert(1, 3, 9.9);
// list: [2.718, 9.9, 9.9, 9.9, 1.442, 0.4342]```

利用容器去填充每项的数据
```cpp
 QStringList namelist,genderlist,agelist;
      namelist<<"亚瑟"<<"妲己"<<"安琪拉"<<"赵云"<<"送悟空";
      genderlist<<"男"<<"女"<<"女"<<"男"<<"中立";
      agelist<<"18"<<"19"<<"20"<<"21"<<"22";
      for(int i=0;i<5;i++)
      {
          int col=0;
          //col++;先赋值再加               // ++col;先加再赋值  //直接根据容器数组来进行操作。
          ui->tableWidget->setItem(i,col++,new QTableWidgetItem(namelist[i]));
          ui->tableWidget->setItem(i,col++,new QTableWidgetItem(genderlist[i]));
          ui->tableWidget->setItem(i,col++,new QTableWidgetItem(agelist[i]));
      }

匿名对象调用* 只有可以允许包含多个信息的,可以这样一次给容器多个数据

QTreeWidgetItem *zsitem=new QTreeWidgetItem(QStringList()<<"猴子"<<"可以eq连招,中间加一个平a配合w技能"<<"大闹天宫");
ui->treeWidget->setHeaderLabels(QStringList()<<"英雄"<<"英雄介绍"<<"大招");//匿名对象调用,Qstringlist是类名
//labels 可以允许接收多个信息

3.other controls

在这里插入图片描述
在这里插入图片描述
在ui界面键入的控件或box,有时候通过ui指针找不到时,你需要先编译一下,就可以找到了
[外链图片转存中…(img-V7AzzOAH-1680839901716)]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值