3

我想显示一个悬停的工具提示QTreeWidgetItem。但是,在我的情况下,获取工具提示并不是一个很快的过程,所以我不想调用setTooltip()每一个项目。我想根据需要,根据某些事件或信号来做。最简单的方法是什么?

4

2 回答 2

5

我发现的最佳解决方案是在调用时为该项目子类化QTreeWidgetItem、覆盖virtual QVariant data(int column, int role) const;并返回工具提示。dataQt::ToolTipRole

于 2013-08-07T11:01:50.917 回答
0

我认为如果您迁移到 QTreeView/Model 模式,应该更容易实现您想要的。

QAbstractItemModel 对工具提示有作用:Qt::ToolTipRole

您可以将模型子类化以重新实现

QVariant QAbstractItemModel::data ( const QModelIndex & index, int role = Qt::DisplayRole ) const [pure virtual

方法。

因此,当接收到 Qt::TooltipRole 时,它​​会从内部缓存中计算/恢复。

于 2013-08-07T09:03:08.003 回答