QListWidge中item灰化以及添加自定义widget灰化!

由于项目对功能的改变,需要对列表的某些项进行灰化,即不可接收点击事件。


因为列表中设计到了自定义的样式,所以我采用了QListWidget,查找文档之后发现了这个办法:


ui->listWidget->item(row)->setFlags((Qt::ItemFlag)0);  //row是我们要灰化的item行

上面这个方法只能针对QListWidget直接加数据或者添加QListWidgetItem,当里面是自定义的widget时候,发现这个方法只能产生不能点击事件

可是并没有灰化,通过尝试发现可以获取item里面包含的widget,设置他的Enabled属性,两者结合使用即可:


ui->listWidget->itemWidget(ui->listWidget->item(row))->setEnabled(false);
ui->listWidget->item(row)->setFlags((Qt::ItemFlag)0);

你可能感兴趣的:(Qt)