0

我在 QTreeView 中显示模型。显示的数据由文本组成。我试图实现的行为是在未选择的行中仅显示一行文本,并在所选行中显示所有行(无论是一行还是多行)。

我正在考虑重新实现 QStyledItemDelegate 的displayText方法,但它提供的唯一信息是数据和语言环境。我需要访问视图的 QItemSelectionModel或其他东西来确定当前请求的文本是否在选定的行中。有任何想法吗?

4

1 回答 1

0

重新实现QStyledItemDelegate::createEditor(QWidget * parent, const QStyleOptionViewItem & option, const QModelIndex & index ). “父级”控制数据的表示方式。您可以创建自己的小部件并在那里显示您想要的任何内容。不幸的是,项目委托不提供对视图的访问,因此您可以在委托中创建对您的视图的引用。

于 2012-01-24T13:57:12.490 回答