Qt 中视图与模型绑定时,模型必须使用new来创建。否则刚开始初始化的时候,视图无数据显示,或者后期视图不能随着模型的改变而改变

具体原因:我猜测是局部变量生命周期的问题。new 的变量在堆中,除非手动释放,否则一直存在。如果不new一个Model,把Model变量放在类成员变量中,视图就可以正常显示数据了。

Eorror错误的写法

QStandardItemModel model(4,2);  model.setHeaderData(0, Qt::Horizontal, tr("Label"));
model.setHeaderData(1, Qt::Horizontal, tr("Quantity"));  ui.tableView->setModel(&model);  for (int row = 0; row < 4; ++row) {  for (int column = 0; column < 2; ++column) {  QModelIndex index = model.index(row, column, QModelIndex());  model.setData(index, QVariant((row+1) * (column+1)));  }
}  

Right 正确的写法

QStandardItemModel *model;  model = new QStandardItemModel(4,2);
ui.tableView->setModel(model);  model->setHeaderData(0, Qt::Horizontal, tr("Label"));
model->setHeaderData(1, Qt::Horizontal, tr("Quantity"));  for (int row = 0; row < 4; ++row) {  for (int column = 0; column < 2; ++column) {  QModelIndex index = model->index(row, column, QModelIndex());  model->setData(index, QVariant((row+1) * (column+1)));  }
}  

View与Model绑定注意事项 (视图无数据显示)相关推荐

  1. 利刃 MVVMLight 2:Model、View、ViewModel结构以及全局视图模型注入器的说明

    原文:利刃 MVVMLight 2:Model.View.ViewModel结构以及全局视图模型注入器的说明 上一篇我们已经介绍了如何使用NuGet把MVVMLight应用到我们的WPF项目中.这篇我 ...

  2. ASP.NET MVC Model绑定(五)

    ASP.NET MVC Model绑定(五) 前言 前面的篇幅对于IValueProvider的获取位置和所处的生成过程做了解说,本篇将会对IValueProvider的使用做个基础的演示样例解说,读 ...

  3. 【django轻量级框架】View与Model交互(模块的交互关系)

    文章目录 1 总体结构 2 各个模块的交互关系 3 Model 4 View 5 ORM语句 1 总体结构 Django是MTV结构,即:Model, Template, View Model:定义数 ...

  4. mysql命令行查看表的触发器_Mysql事项,视图,函数,触发器命令(详解)

    事项开启和使用 //修改表的引擎 alter table a engine=myisam; //开启事务 begin; //关闭自动提交 set autocommit=0; //扣100 update ...

  5. ASP.NET MVC Model绑定小结

    Model绑定是指从URL提取数据,生成对应Action方法的参数这个过程.前面介绍的一系列Descriptor负责提供了控制器,行为方法和参数的元数据,ValueProvieder负责获取数据,剩下 ...

  6. View工作原理(三)视图大小计算过程(measure过程)

    一.android中view的measure过程总概 视图大小计算的过程是从根视图measure()方法开始,接着该方法会调用根视图的onMeasure()方法,onMeasure()方法会对所包含的 ...

  7. ASP.NET MVC Model绑定(二)

    ASP.NET MVC Model绑定(二) 前言 上篇对于Model绑定的简单演示想必大家对Model绑定的使用方式有一点的了解,那大家有没有想过Model绑定器是在什么时候执行的?又或是执行的过程 ...

  8. ASP.NET MVC Model绑定(四)

    ASP.NET MVC Model绑定(四) 前言 前面的篇幅对于Model绑定器IModelBinder以及实现类型.Model绑定器提供程序都作了粗略的讲解,可以把Model绑定器想象成一个大的容 ...

  9. ModelBinder——ASP.NET MVC Model绑定的核心

    Model的绑定体现在从当前请求提取相应的数据绑定到目标Action方法的参数.通过前面的介绍我们知道Action方法的参数通过ParameterDescriptor来描述,ParameterDesc ...

最新文章

  1. 智能车联,一场「以人为核心」的智能化变革
  2. Linux入门!Linux无法联网解决办法!CentOS7、VMPlayer、VMWareWorkstation16资源!VMWareWorkstation16序列号!VMware安装Centos7!
  3. Jquery radio选中
  4. Codeforces Round #746 (Div. 2)
  5. asp.net ViewState详解
  6. c++动态绑定的技术实现
  7. Dart编译技术在服务端的探索和应用
  8. matlab 量化 策略,【策略分享】Matlab量化交易策略源码分享
  9. 扫靓号4.2去会员限制版|靓号扫号|免费扫号器|熊猫扫号|蚂蚁扫号|腾讯王卡阿里宝卡米粉卡等42个卡种扫号器
  10. 10个谷歌浏览器调试技巧
  11. Android 中 RecyclerView 的基本使用
  12. Java:实现动态规划的4个经典题型,你都会吗?拒绝做优秀的码农
  13. GM(1,1)灰色预测模型
  14. 电脑换新季让我终于脱离了盗版屌丝群
  15. 大厂软件测试流程完整版
  16. 小学生计算机的起源与发展ppt,计算机的起源与发展历程ppt课件.ppt
  17. mac播客播放器:Moon FM for Mac
  18. VMware Convert 使用
  19. 微信小程序如何直接分享到朋友圈?
  20. 爆牙齿的世界杯日记(八分之一之德国VS英格兰)

热门文章

  1. java 分库关联查询工具类
  2. 小程序点击获取循环列表中的内容
  3. Struts2结果页面配置(Result)
  4. 【译】使用 CocoaPods 模块化iOS应用
  5. 判断字符串中是否包含Emoji表情代码
  6. 参数估计法——最大似然估计和贝叶斯参数估计
  7. python基础之字符串定义常见操作、列表定义进阶操作
  8. 显示2位小数 python3_自动化常用语言python,版本3和2有何变化?
  9. c++ 链表_链表(单向链表的建立、删除、插入、打印)
  10. 服务器一般在什么位置,云服务器比较普通服务器差异在哪里