• 4400阅读
  • 3回复

[提问]关于QListView自写model的问题 [复制链接]

上一主题 下一主题
离线六允
 

只看楼主 倒序阅读 楼主  发表于: 2014-12-08
在写model中的data函数QVariant MyModel::data( const QModelIndex &index, int role)
我想直接编辑listView的内容,当我用Qt::DisplayRole == role编辑的时候会清空item的内容,虽然能编辑但是不太好,当我用Qt::EditRole == role的时候,它又不能全部显示所有的item,只有我双击编辑的时候才显示。
怎么样才能做到既能显示所有的内容,又能在编辑额的时候不清空?
离线dbzhang800

只看该作者 1楼 发表于: 2014-12-08
QVariant MyModel::data( const QModelIndex &index, int role)

中 DisplayRole 和 EditRole 你可以都实现啊,而且二者可以不一样。
比如平时显示3 ,编辑时显示的可能是 =1+2
离线六允

只看该作者 2楼 发表于: 2014-12-08
回 dbzhang800 的帖子
dbzhang800:QVariant MyModel::data( const QModelIndex &index, int role)
中 DisplayRole 和 EditRole 你可以都实现啊,而且二者可以不一样。
比如平时显示3 ,编辑时显示的可能是 =1+2 (2014-12-08 09:30) 

我就是想两个都实现,但是判断role == Qt::DisplayRole不能同时判断Qt::EditRole == role。这怎么写?
离线六允

只看该作者 3楼 发表于: 2014-12-08
回 dbzhang800 的帖子
dbzhang800:QVariant MyModel::data( const QModelIndex &index, int role)
中 DisplayRole 和 EditRole 你可以都实现啊,而且二者可以不一样。
比如平时显示3 ,编辑时显示的可能是 =1+2 (2014-12-08 09:30) 

解决了,写两个if判断就好了。
快速回复
限100 字节
 
上一个 下一个