不二如是 发表于 2016-12-17 11:01:31

162 - 添加编辑功能(flags + setData) - 【实操】

本帖最后由 不二如是 于 2016-12-17 11:19 编辑

在161我们基于QAbstractItemModel创建了只读模型

在这个StringListModel模型中,指定了一个字符串列表来提供数据

然后分别在两个不同类型的视图中显示。

为了使模型可以编辑,需要修改data()函数

好了,上程序~~~~~~~~~~~~~~~~~~~~~~~~~~~

修改stringlistmodel.h头文件


flags()添加定义
委托在创建编辑器以前会检测项目是否是可编辑的,模型必须委托直到他的项目是否可编辑的。

这里为模型中的每一个项目返回一个正确的标识来达到这个目的。


setData()添加定义
字符串列表对应指定的模型索引的项目被参数提供的value值替换掉了


最后,还要在data()函数,添加Qt ::EditRole测试,修改如下:



运行



页: [1]
查看完整版本: 162 - 添加编辑功能(flags + setData) - 【实操】