使用的 Qt 版本:4.7.1 和 4.8
我将分层数据存储为从 QAbstractItemModel 派生的模型中的节点。我的应用程序 GUI 中有一个QTreeView
用于显示分层数据。(分层数据对于这个问题可能不是必需的;我遇到的一般问题适用于任何模型和视图中的任何类型的数据。)
我的应用程序 GUI 中有一个显示超链接的文本框(一个QPlainTextEdit
小部件,但这不是必需的)。当用户点击超链接时,我可以拦截它并获取超链接的 URL。到目前为止,一切都很好。
当我截获该超链接时,我将QTreeView
导航到特定节点,根据需要扩展其父节点,以便用户可以看到它。
超链接的 URL 将采用让我知道正在请求节点的格式,并将包含有关该特定节点的识别信息。例如:
<a href="node://something">Click me to see node A</a>
所以,问题是:什么东西可以识别特定节点,并且可以编码为文本字符串?
我一直在阅读关于QPersistentModelIndex
. 这听起来像是一个合理的开始。在我格式化超链接的时候,我肯定会知道QModelIndex
特定节点的,并且可以从中构造一个QPersistentModelIndex
。但是我迷失了如何将其转换为字符串,然后再将字符串转换回一个QModelIndex
我可以从中推断出特定节点的字符串。
任何建议表示赞赏。