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

一条龙网站建设价格朝阳区互联网公司

一条龙网站建设价格,朝阳区互联网公司,深圳网站建设深icp备,河南省汝州市文明建设网站背景#xff1a; model存储数据#xff0c;用于同步view显示。数据节点全部是item。对象树结构。但是一些常用的函数的特征和用法#xff0c;手册中没有提及太多#xff0c;于是记录备忘。 主要包括#xff1a; setRowCount#xff0c;setColumnCount setItem#x…背景 model存储数据用于同步view显示。数据节点全部是item。对象树结构。但是一些常用的函数的特征和用法手册中没有提及太多于是记录备忘。 主要包括 setRowCountsetColumnCount setItemsetVerticalHeaderItemsetHorizontalHeaderItem setDatasetHeaderData 当然还有很多函数不用逐一列举本次记录的是我认为容易有歧义的分为item类和data类。 model的容量 model可以通过构造函数或setRowCount/setColumnCount函数设置行数和列数但仅仅是设置了“容量”并没有item数据实体。 model的数据实体 model的setItemsetVerticalHeaderItemsetHorizontalHeaderItem函数如果需要会自动“撑开”容量一旦设置就相当于有了数据实体哪怕是空值。 item是个对象里面可以有多个“字段/角色”来存储数据。其中text可以直接设置和读取其它类型数据可以用ItemRole区分随便使用很灵活。 data函数 model的setDatasetHeaderData函数“容量”允许时可以创建并给item赋值但不能自动“撑开”容量所以依赖“容量”。如果“容量”不允许执行失败返回false。 相比item我想为什么setItem是void没有返回值因为必然成功。而setdata需要bool返回值因为不一定成功。 实践 所以写了下面代码用于测试 #include mainwindow.h #include QApplication #include QStandardItemModelint main(int argc, char *argv[]) {//1:QStandardItemModel *model1 new QStandardItemModel;model1-setHorizontalHeaderItem(0, new QStandardItem(text1));//setItem会自动创建“行/列”此时item.text()item1int model1_iColCount model1-columnCount();// 1bool model1_bIsSetSuccessed model1-setHeaderData(0, Qt::Horizontal, QVariant(10));// trueQString model1_sHeaderData model1-headerData(0, Qt::Horizontal).toString();// 10QString model1_sItemText model1-horizontalHeaderItem(0)-text();// 10setData自动创建了item并赋了值覆盖了“text1”//2:QStandardItemModel *model2 new QStandardItemModel;//默认没有“行/列”bool model2_bIsSetSuccessed model2-setHeaderData(0, Qt::Horizontal, QVariant(20));// falseQString model2_sHeaderData model2-headerData(0, Qt::Horizontal).toString();// int model2_iColCount model2-columnCount();// 0//3:QStandardItemModel *model3 new QStandardItemModel;model3-setColumnCount(1);//显式设置列数int model3_iColCount model3-columnCount();// 1bool model3_bIsSetSuccessed model3-setHeaderData(0, Qt::Horizontal, QVariant(30));// trueQString model3_sHeaderData model3-headerData(0, Qt::Horizontal).toString();// 30QString model3_sItemText model3-horizontalHeaderItem(0)-text();// 30setData自动创建了item并赋了值//4:QStandardItemModel *model4 new QStandardItemModel(0, 1);//构造时设置“行/列”数int model4_iColCount model4-columnCount();// 1bool model4_bIsSetSuccessed model4-setHeaderData(0, Qt::Horizontal, QVariant(40));// trueQString model4_sHeaderData model4-headerData(0, Qt::Horizontal).toString();// 40QString model4_sItemText model4-horizontalHeaderItem(0)-text();// 40setData自动创建了item并赋了值return 0; }显然setItem是自动的随心所欲setData是依赖model行和列的数量的如果setData成功会创建和更新相应的item返回true。否则返回false一切无效但不报错。这也是特别要注意的。如果不小心使用了它没有判断返回值一旦出错一时很难定位。 我的体会 最好直接操作model和item并充分理解对象树所谓data类的操作反正我觉得无所谓目前还没发现哪种场景必须用它。 本文完。
http://www.w-s-a.com/news/559177/

相关文章:

  • 协会网站建设方案大良营销网站建设好么
  • 网站引导页一般是什么格式网页设计师的应聘岗位
  • 构建网站空间网站开发与维护招聘
  • 网站建设的网页怎么做番禺网站开发哪家强
  • 网站开发是程序员吗百度网盘下载电脑版官方下载
  • 中国电力建设集团网站杭州网站运营
  • 大气网站模板下载效果好的网站建设公
  • 住房和城乡建设部网站打不开重庆市建设工程信息网官网30系统
  • 做美食软件视频网站大数据精准营销策略
  • 网站后台密码错误陕西大型网站建设
  • 网站建站中关键字搜索怎么弄wordpress 后台插件无法访问
  • 做减肥餐的网站网站优化注意事项
  • 做网站做推广有效果吗专门做淘宝优惠券的网站
  • 菜谱网站开发系统ps做网页效果图
  • 徐州品牌网站建设wordpress多重筛选页面
  • 网站改版提示无需改版个人怎么申请微信小程序
  • 电子商务网站建设的简要任务执行书可以注册免费网站
  • 公司网站设计需要什么豪爵铃木摩托车官网
  • 建收费网站合肥地区网站制作
  • 自己做头像网站小网站建设公司
  • 电子商务建设与网站规划wordpress linux安装
  • wordpress新手建站win8网站模版
  • 网站的简单布局孝感 商务 网站建设
  • 湖北手机版建站系统价格优化网站内容
  • 网站后台登录不显示验证码软文发布网站
  • 企业微网站建设方案收费的网站如何免费
  • 平昌县建设局网站中国500强企业有哪些
  • 网站开发制作的流程是什么网页打不开显示不安全怎么办
  • 网络网站开发设计安徽建设工程信息网怎么打不开了
  • 百度网站推广申请深圳公众号制作