• 2878阅读
  • 3回复

求教 tableview 如何判断选中的 QModelIndex 为只读 [复制链接]

上一主题 下一主题
离线hailler
 

只看楼主 倒序阅读 楼主  发表于: 2017-10-23
   想实现选中某个TABLEVIEW 里的item 时,能判断出改item属性为不可编写。用了
  QModelIndex index=tableview->currentIndex();
  能通过调速器看到 index.flags() 里没有Qt::ItemIsEditable  属性。可怎么实现判断?万事不得其解,麻烦告知。或者有其他办法来判断?
  
离线青空飞羽

只看该作者 1楼 发表于: 2017-10-27
按位与,&
if (index.flags() & Qt::ItemIsEditable)   // 可编辑
{

}
else   // 不可编辑
{

}
离线hailler

只看该作者 2楼 发表于: 2017-10-29
回 青空飞羽 的帖子
青空飞羽:按位与,&
if (index.flags() & Qt::ItemIsEditable)   // 可编辑
{
}
....... (2017-10-27 15:55) 

多谢。
一直没想到用运算符。
离线hailler

只看该作者 3楼 发表于: 2017-10-29
下面的代码用出去 flags 里面的Qt::ItemlsEditable 标识。
可惜我在model 里面设置了所有item 都是 ItemIsEditable 标识,所以结果出来的还是可编辑的。  
Qt::ItemFlags flags = index.flags();
   if(flags & Qt::ItemIsEditable )
       flags ^= Qt::ItemIsEditable;
快速回复
限100 字节
 
上一个 下一个