Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用QTreeview表示语法树_Qt_Tree_Pyqt_Nlp_Qtreeview - Fatal编程技术网

用QTreeview表示语法树

用QTreeview表示语法树,qt,tree,pyqt,nlp,qtreeview,Qt,Tree,Pyqt,Nlp,Qtreeview,我正在研究我的硕士论文,我将实现一个应用程序,为土耳其语文本寻找深层句法关系(未来我们希望使用这些关系来生成语义关系) 我已经为我们的应用程序准备了一个PyQt接口,我们需要一个可视化模块,以指定的格式表示语料库中每个句子的语法树 具有每个单词词法特征的手动淹没示例语法树为: 由于已经在使用QtGUI工具包,我认为,一个快速的方法就是使用Qtreeview实现这一目的。但显然,经典的文件系统Qtreeview需要一些定制 树项目的最低期望值为: 每个节点连接的标签(如果不可能,可以在节点图标中

我正在研究我的硕士论文,我将实现一个应用程序,为土耳其语文本寻找深层句法关系(未来我们希望使用这些关系来生成语义关系)

我已经为我们的应用程序准备了一个PyQt接口,我们需要一个可视化模块,以指定的格式表示语料库中每个句子的语法树

具有每个单词词法特征的手动淹没示例语法树为:

由于已经在使用QtGUI工具包,我认为,一个快速的方法就是使用Qtreeview实现这一目的。但显然,经典的文件系统Qtreeview需要一些定制

树项目的最低期望值为:

  • 每个节点连接的标签(如果不可能,可以在节点图标中添加)
  • 每个中间节点和根节点的图标
  • (图标+形态特征框)用于每个离开节点
  • 我的问题是如何用QTreeview实现这种表示。特别是对于左节点,如何生成形态特征框

    各位,如果你们有什么想法,举个小例子,我会很高兴的^_^
    感谢大家阅读并思考这个问题……

    我认为这在QTreeView中是不可能的

    查看QGraphicscene和QGraphicsView。这些类对于您打算做的事情来说应该是一个很好的解决方案


    这将很有帮助。

    另一个答案是Trilarion的建议。qtreewidget项的自定义。
    链接到相关的stackowerflow问题,示例是

    Pyqtgraph是否有一些可能有用的自定义小部件?运行示例应用程序,查看所有内容。@three_菠萝谢谢你。我刚刚阅读了pyqtgraph网站的示例页面。我已经看到了一些与树相关的小部件:DataTreeWidget、TreeWidget和parametertree。我将安装pyqtgraph并运行它们的示例。很快告知我的发现。还有一个流程图示例可能有用(尽管它看起来是用来表示通过函数进行数据处理的流程,我认为这与您想要做的不太相符),请参见。谢谢Trilarion的建议。这是我答案的实际解决方案。通过在每个项目(即节点)的开头插入两个图标(一个用于语法标签,一个用于节点类型),我们可以实现一个接近我们所需的简单树形图。现在我正在使用QPaint和我最近编写的递归树绘制算法。如果失败了,我就按你的建议去做。谢谢你的建议。据我所知,我们必须给出将要连接的图形元素(树节点)的位置。所以我们必须计算它们。我主要寻找一个为树实现的小部件,它根据应用程序将生成的图形数据结构自动计算所有位置。而且图表不需要是交互式的。只有一个静态的就足够了。我认为没有这样的组件。也许是我不知道的第三方产品。我想您将需要使用建议的类,即使它们比您需要的功能更强大。Graphviz用于节点布局计算,Matplotlib用于绘制图表。通过这种方法,我能够生成一个树形图,使我们在视觉上更加完整。但问题是它的执行时间。Graphviz是一个外部应用程序,matplotlib速度太慢。所以我决定实现一个树形图模块,它使用QtGUI工具包来提高速度。也许我会用自定义算法计算布局,然后用opainer或qgraphicscene绘制图表。谢谢你的建议,伙计。