0

我有一些由大量嵌套的 JSON 表示的数据,我用 Python(特别是 PySide)解析和填充 UI。

我的 UI 本质上是两个窗格,左侧是带有扁平树的表格视图,右侧是树视图。单击表格视图中的单元格应重新填充右侧的树视图。

我遇到的问题是,如何在表格视图的模型中设置指向 JSON 数据中相应条目的指针?(即如何在我的平面列表中获得一个条目以指向我的 JSON 数据中的正确位置?)

我想到了使用 Win32 中旧 MFC 时代的技巧,其中您为 UI 设置任意项目数据,但是查看 Qt 表视图类,它们的项目数据函数似乎在做一些不同的事情。

有什么想法吗?

感谢您的时间...

4

2 回答 2

0

由于您的数据是跨视图共享的,因此使用单个模型更有意义。使您的主模型成为树模型。然后,您可以编写一个代理模型(从 子类QAbstractProxyModel化),为您的QTableView. 您现在可以轻松获得指向主树模型的“指针”。

如果您只想显示树模型的一部分,可以使用setRootIndex.QTreeView

于 2013-02-03T12:23:42.173 回答
0

将导航序列化为表示的值,并在您要访问该项目时对其进行解析。例如:

foo.1->bar -> data['foo'][1]['bar']
于 2013-02-03T08:25:53.117 回答