自定义模型SearchModel ------ Model-View-Control(MVC)架构(9)
2014-08-01 10:51
323 查看
昨天在digia上看了篇文章,以为用2步分布添加的方法可以解决这个问题,但尝试下来还是失败。不知道原因何在。
暂时先在这里占个位,然后继续研究,等解决了这个问题再来发布解决方法。
另外新建了一个测试工程,发现问题根本不是出在往模型里添加数据的环节,而是不知道什么缘故导致的委托方面的问题。用自定义委托来绘制条目的话,则会出现行高的问题,但检查了委托的代码,也未发现问题所在。不过现在想到了一个解决问题的方法,就是在模型里,每当添加新行成功后,即将刚刚添加的新行的行高重新设置一遍,这样显示上就没问题了。先这样吧,以后有时间再深究有没有其他的解决办法。
现在从模型里删除了inserRows重载方法,也删除了setData重载方法,仅仅保留一个自定义的槽函数,供视图接收到服务器数据后调用来动态向数据模型添加数据。此槽函数代码如下:
SearchModel.cpp
现在图标之间不会再叠加在一起了。
暂时先在这里占个位,然后继续研究,等解决了这个问题再来发布解决方法。
另外新建了一个测试工程,发现问题根本不是出在往模型里添加数据的环节,而是不知道什么缘故导致的委托方面的问题。用自定义委托来绘制条目的话,则会出现行高的问题,但检查了委托的代码,也未发现问题所在。不过现在想到了一个解决问题的方法,就是在模型里,每当添加新行成功后,即将刚刚添加的新行的行高重新设置一遍,这样显示上就没问题了。先这样吧,以后有时间再深究有没有其他的解决办法。
现在从模型里删除了inserRows重载方法,也删除了setData重载方法,仅仅保留一个自定义的槽函数,供视图接收到服务器数据后调用来动态向数据模型添加数据。此槽函数代码如下:
SearchModel.cpp
//供SearchFriends.cpp函数调用,用以向数据模型里添加一行数据 void SearchModel::slot_InsertRow(QList<SearchItem *> newRow) { beginInsertRows(QModelIndex(), list.count(), list.count()); list.append(newRow); endInsertRows(); //修改TableView里最新一行的行高,否则会叠加显示到一起 tableView->setRowHeight(list.count()-1,70); }现在运行客户端,点击Search按钮,向服务器提交搜索请求,之后就会收到服务器回传的数据,动态添加数据到模型并及时显示到视图里。效果如下:
现在图标之间不会再叠加在一起了。
相关文章推荐
- 自定义模型SearchModel ------ Model-View-Control(MVC)架构(8)
- QListView ------ Model-View-Control(MVC)架构(1)
- 自定义委托(代理)SearchDelegate ------ Model-View-Control(MVC)架构(6)
- QTableView ------ Model-View-Control(MVC)架构(4)
- 自定义SearchItem类 ------ Model-View-Control(MVC)架构(5)
- 各种模型的比较 ------ Model-View-Control(MVC)架构(2)
- 自定义模型SearchModel ------ Model-View-Control(MVC)架构(7)
- QAbstractTableModel ------ Model-View-Control(MVC)架构(3)
- SpingMVC ModelAndView, Model,Control以及参数传递
- 用C#实现MVC(Model View Control)模式介绍
- 用C#实现MVC(Model View Control)模式介绍
- MVC教程:MVC---View处理页面;Control处理业务逻辑;Model处理数据
- 用C#实现MVC(Model View Control)模式介绍
- 用C#实现MVC(Model View Control)模式介绍
- 用C#实现MVC(Model View Control)模式介绍
- SpingMVC ModelAndView, Model,Control以及参数传递
- Introduction to Model View Control (MVC) Pattern using C#
- 用C#实现MVC(Model View Control)模式介绍
- Qt MVC View Model Control /Delegate
- 【框架篇】mvc、mvp、mvvm使用关系总结 原创 2016年03月27日 10:04:21 标签:android /架构 9837 MVC MVC全名是Model View Controller,