Qt:QTreeView禁止选中分组功能
Qt:QTreeView禁止选中分组功能
网上一般提供了两种方法,原始的方法来源,应该是这里:QTreeView disable selection on some rows
个人在使用这些时,或多或少遇到一些问题。以下提供本人的实现方法:
继承QAbstractItemModel,并重载实现flags函数。
Qt::ItemFlags QModelComboSSHConnectionTree::flags(const QModelIndex& index) const
{
if (!index.isValid())
return Qt::NoItemFlags;
if (IsGroup(index))
{
return __super::flags(index) & ~(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
}
return __super::flags(index)| Qt::ItemIsEnabled | Qt::ItemIsSelectable;
}
这里请自行实现IsGroup函数。__super::flags(index)可以不调用,因为它仅仅是返回了 Qt::ItemIsEnabled | Qt::ItemIsSelectable。
转载请注明来源,谢谢。
有偿解决C++编程问题,承接项目定制开发;寻一份全职或兼职Windows C++开发工作。联系邮箱:[email protected]。