【问题标题】:render a gvc (graohviz) from c++ console application / or qt gui application从 c++ 控制台应用程序/或 qt gui 应用程序渲染 gvc (graohviz)
【发布时间】:2016-01-31 11:39:04
【问题描述】:

我正在编写一个程序,它可以生成我想直接在屏幕上显示的点描述文件。

我从 graphviz.org 获得以下代码,了解如何将其用作库并且它可以工作

int main(int argc, char *argv[])
{
    Agraph_t* G;
    GVC_t* gvc;
    gvc = gvContext(); /* library function */

    FILE* fl;
    FILE* ot;

    ot = fopen("/home/test.png", "w");
    fl = fopen("/home/my.gv", "r");
    G = agread(fl,0);
    gvLayout (gvc, G, "dot"); /* library function */
    gvRender(gvc, G,"png", ot);
    gvFreeLayout(gvc, G); /* library function */
    agclose (G); /* library function */    
    return (gvFreeContext(gvc));
}

当我从 qt 控制台应用程序项目中运行它时,它只是给出了

Press <RETURN> to close this window...

我可以看到它确实生成了这个 test.png 文件。我在想一定有一种方法可以直接显示gvc 而无需打开png文件,对吧?

【问题讨论】:

    标签: c++ render graphviz


    【解决方案1】:

    因为从头开始为此编写 GUI 应用程序似乎是一个非常糟糕的主意,所以使用外部程序来实现这一点怎么样?

    如果您坚持,您甚至可以从生成程序中启动它:

        system("feh -dR1 test.png");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-07
      • 1970-01-01
      • 2011-03-22
      • 1970-01-01
      • 2013-06-19
      • 2014-01-01
      • 2018-01-12
      • 1970-01-01
      相关资源
      最近更新 更多