2011-06-03 55 views
4

我正在使用项目的硬件模拟器。它最终以非常结构化但丑陋的方式输出统计数据。阅读起来很烦人,所以我想写一个GUI来帮助我更好地展示它。任何人都会明白我可以用什么框架和小部件来快速无痛地构建干净的东西吗?我想能够浏览树和隐藏(折叠)节点的我不感兴趣的子节点。编写一个GUI来显示统计信息

的统计数据输出采用这样的形式是这样


root { 
foo = "bar"; 
foo_num = 1; 
machine { 
    core0 { 
    fetch { 
    renamed { 
     none = 13559; 
     flags = 3013; 
     reg_and_flags = 10735; 
     reg = 8430; 
    } 
    width[5] = { 
     Minimum:     381 
     Maximum:     17450 
     Average:     1.248 
     Total Sum:    28627 
     Weighted Sum:   35737 
     Threshold:     3 
     [ 61.0% ] [ 61.0% ]  0  0 17450 ****************************** 
     [ 1.3% ] [ 62.3% ]  1  1 381 
     [ 12.1% ] [ 74.4% ]  2  2 3476 ****** 
     [ 3.1% ] [ 77.5% ]  3  3 876 * 
     [ 22.5% ] [ 100% ]  4  4 6444 *********** 
    }; 
    status (total 57920) { 
     [ 0.0% ] rob_full = 0; { (zero) } 
     [ 35.9% ] ldq_full = 20789; 
     [ 2.4% ] fetchq_empty = 1394; 
     [ 0.0% ] physregs_full = 0; { (zero) } 
     [ 61.7% ] complete = 35737; 
     [ 0.0% ] stq_full = 0; { (zero) } 
    } 
    } 
} 
} 

已经有一个解析器从二进制文件创建一种树,它是用C++编写的,所以如果为这种语言选择一个框架可能会更好。另一种方法是生成XML输出,然后使用其他语言来处理信息。

我对视觉编程并不是非常有经验,我也不知道什么样的小部件可用。任何建议和指针,将不胜感激。

+0

什么是你的开发工具链 - 使用Visual Studio的窗口或其他东西? – holtavolt 2011-06-03 16:09:44

+0

与您的用户联系。我建议制作非常酷的统计数据图表,但用户不希望他们和首选的行和列的数字(会计师)。 – 2011-06-03 16:11:09

+0

我只使用Linux和GCC – hayesti 2011-06-03 16:15:28

回答

5

当我只是试图显示一些信息,而我并不真的需要交互时,我有时会让程序输出一个简单的html页面。做表格和图像之类的事情(实际上是任何格式)都很快速而且微不足道。如果您需要图表,则可以使用Google的chart API等网络API。

+0

这是一个非常好的主意,我觉得有点傻,它不会发生在我身上。非常感谢你! – hayesti 2011-06-03 16:22:17

3

我建议的boost ::精神::齐进行解析,并Qt的 + QWT - 图形。他们都是C++。 QWT(基于Qt)具有多种方便的图形小部件开箱即用。

精神:http://www.boost.org/doc/libs/1_46_0/libs/spirit/doc/html/spirit/introduction.html
的Qt:http://qt.nokia.com/products
QWT:http://qwt.sourceforge.net/

编辑

更具体地说:
树视图:http://doc.qt.nokia.com/latest/qtreeview.html
柱状图:http://qwt.sourceforge.net/class_qwt_plot_histogram.html

它的所有预tty简单易用,请查看样本,以确定它是如何完成的。

+0

谢谢,有没有一个特定的小部件,你会建议适合?我认为这是最终的问题。我并不需要对数字做任何事情,我只需要以简洁易读的格式展示它们。我认为一个简单的GUI会比用文本输出做一些奇怪的事情更合适。 :-) – hayesti 2011-06-03 16:17:02

+1

同意。如果Qt太重,你也可以签出wxWidgets:http://www.wxwidgets.org/ - wxTreeCtrl将是特定的部件。 – holtavolt 2011-06-03 16:17:38

+0

看起来有用和简单,很好的建议。谢谢 – hayesti 2011-06-03 16:27:37

相关问题