我想显示悬停的QTreeWidgetItem
工具提示。但是,在我的情况下,获取工具提示并不是一个非常快速的过程,因此我不想为每个项目调用setTooltip()
。我希望在某些事件或信号上按需进行。最简单的方法是什么?
答案 0 :(得分:3)
我发现的最佳解决方案是继承QTreeWidgetItem
,覆盖virtual QVariant data(int column, int role) const;
并在为data
调用Qt::ToolTipRole
时返回此项目的工具提示。
答案 1 :(得分:0)
我认为如果迁移到QTreeView / Model模式,应该更容易实现所需。
QAbstractItemModel具有工具提示的作用:Qt :: ToolTipRole
您可以将模型子类化以重新实现
QVariant QAbstractItemModel::data ( const QModelIndex & index, int role = Qt::DisplayRole ) const [pure virtual
方法
因此,当收到Qt :: TooltipRole时,它会从内部缓存中计算/恢复。