我在QTreeView中显示模型。显示的数据包含文本。我想要实现的行为是在未选中的行中只显示一行文本,并且在所选行中显示所有行(无论是否有一行或多行)。
我正在考虑重新实现QStyledItemDelegate的displayText方法,但它提供的唯一信息是数据和区域设置。我需要访问view's QItemSelectionModel或其他内容来确定当前请求的文本是否在选定的行中。有什么想法吗?
答案 0 :(得分:0)
重新实施QStyledItemDelegate::createEditor(QWidget * parent, const QStyleOptionViewItem & option, const QModelIndex & index )
。 “父”控制数据的表示方式。您可以创建自己的小部件并显示您想要的任何内容。不幸的是,项目委托不提供对视图的访问权限,因此您可以在委托中创建对视图的引用。