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

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

Eorror错误的写法

QStandardItemModel model(,);  

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

Right 正确的写法

QStandardItemModel *model;  

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

转自:http://qimo601.iteye.com/blog/1535781

最新文章

  1. iOS中UIImageView的填充模式
  2. git ssh key创建和github使用
  3. OracleHelper
  4. poj3468,poj2528
  5. Eclipse+Axis自动生成Web Service WSDL文件
  6. 终于解决了我的DISCUZ 无法连接到您的服务器,可能您的服务器处于防火墙后端 论坛云平台的问题~
  7. TSSAO Temporal Screen-Space Ambient Occlusion (Unity3d 5 示例实现)
  8. linux搜索命令
  9. struts2中的action访问web对象
  10. 黄聪:Microsoft Enterprise Library 5.0 系列教程(二) Cryptography Application Block (高级)
  11. linux 下 Fatal error: Class ‘mysqli’ not found in
  12. java servlet的域对象
  13. Java的程序执行过程与编译原理
  14. web架构延变
  15. 第一个NDK工具:AddInputsSol
  16. Tomcat默认工具manager管理页面访问配置
  17. hadoop学习之yarn资源管理
  18. python with原理
  19. IntelliJ IDEA之如何提交代码到SVN服务器
  20. 在QtCreater中配置Artistic Style格式化Qt程序源代码!!

热门文章

  1. sphinx 配置文件全解析(转)
  2. Spring横切面(advice),增强(advisor),切入点(PointCut)(转)
  3. OpenGL cullface
  4. TCP通信的三次握手和四次撒手的详细流程(顿悟)
  5. Java并发和多线程那些事儿
  6. 在Maprecue中利用MultipleOutputs输出多个文件
  7. cocos2d-x JsonBox 读写
  8. 深入理解Eureka - Eureka Client获取注册信息机制
  9. Spring Boot干货系列:(三)启动原理解析
  10. rm: cannot remove `dir&#39;: Device or resource busy解决办法