简单的图形程序

时间:2012-08-02 04:54:37

标签: java c++ qt networking

我制作了一个小型的C ++网络应用程序。它在文件中输出数据包交换。输出如下:

From..to..message
1 2 "hi"
2 3 "hi"
3 2 "hi back"
2 1 "hi back"

因此第一个字段是源,第二个字段是目标,第三个字段是消息。 我总共有10个节点,全部显示在行(0 ... 1 ... 2 ...等... 9),每个输出行对应连续节点之间的消息。

我的问题是输出不是那么容易阅读,因为它变得越来越大。我希望有一个非常小的应用程序(例如,在java或qt中,无论哪个需要较少的行来实现),从该输出读取并从中生成一个小的GUI应用程序,以便所有节点都出现在GUI中窗口(从0到9,间隔相等,环绕),每次按下右箭头(向前)或向左箭头(向后),它从输出中读取一行,并显示从源到目的地的箭头,并且超过该箭头将显示该消息。 所以像这样:

              hi
0     1     2---->3     4     5     6     7     8     9 

我对其他关于GUI描述的建议持开放态度,我根本不是一个平面设计师,我所知道的是我想要一个GUI来使我的输出更容易解释。 如果输出结构更容易解析,那么输出结构也可以更改为其他结构。

1 个答案:

答案 0 :(得分:2)

您可以尝试GraphViz

生成类似于

的内容
        hi
1     2---->3     4     5     6     7     8     9 

您应该生成纯文本文件:

digraph G {
    { rank = same; 1; 2; 3; 4; 5; 6; 7; 8; 9; };
    2 -> 3 [label="hi"];
}

然后,调用dot -Tpng <text file name> -o <output image file name>,您可以获得一个看起来像的图像:

Example figure

要制作动画,您可能希望将输出格式更改为gif,并使用其他工具制作动画GIF。