我正在为一个项目使用硬件模拟器。它以非常结构化但丑陋的方式在最后输出统计数据。阅读起来可能很累,所以我想写一个 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 输出,然后使用另一种语言来处理信息。
我对可视化编程不是很有经验,我真的不知道有哪些小部件可用。如有任何建议和指点,我们将不胜感激。
最佳答案
当我只是想显示一些信息,而且我真的不需要交互时,我有时会让程序输出一个简单的html页面。处理表格和图像(几乎任何格式)之类的事情既快速又简单。如果您需要图表,可以使用 Google 的 chart API 等网络 API。 .
关于c++ - 编写 GUI 来显示统计信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6229633/