我有一些由重度嵌套的JSON表示的数据,我用Python解析并填充UI(特别是PySide)。
我的UI基本上是两个窗格,左边是带有扁平树的表视图,右边是树视图。单击表视图中的单元格应重新填充右侧的树视图。
我遇到的问题是,如何将表视图模型中的指针设置为JSON数据中的相应条目? (即如何在我的单位列表中输入一个条目以指向我的JSON数据中的正确位置?)
我想过使用Win32中旧MFC时代的技巧,其中你为UI设置了任意项目数据,但是查看Qt表视图类,他们的项目数据函数似乎做了不同的事情。
有什么想法?
感谢您的时间......
答案 0 :(得分:0)
将导航序列化为值作为表示形式,并在您要访问该项目时对其进行解析。 E.g:
foo.1->bar -> data['foo'][1]['bar']
答案 1 :(得分:0)
由于您的数据是跨视图共享的,因此使用单个模型会更有意义。使您的主模型成为树模型。然后,您可以编写代理模型(从QAbstractProxyModel
继承),使您的QTableView
的树模型变得扁平。您现在可以轻松获取主树模型的“指针”。
如果您只想显示树模型的部分内容,可以使用QTreeView
的{{3}}。