编写GUI以显示统计信息
Writing a GUI to display statistics
我正在为一个项目使用硬件模拟器。它在最后以一种非常结构化但丑陋的方式输出统计数据。读起来可能很累,所以我想写一个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页面。像表格和图像(几乎任何格式)这样的事情都是快速而琐碎的。如果你需要图形,有类似谷歌图表API的网络API。
我建议boost::spirit::qi用于解析,Qt+QWT-用于图形。它们都是C++QWT(基于Qt)具有多个开箱即用的方便图形小部件。
精神:http://www.boost.org/doc/libs/1_46_0/libs/spirit/doc/html/spirit/introduction.html
问题: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
这一切使用起来都很简单,检查一下样本,看看它是如何做到的。
- 正在查找文档以获得PS4平台的C++中的设备信息
- 为什么在运行时没有向我们提供有关分段错误的更多信息?
- 奇怪的(对我来说)返回声明 - 在谷歌上找不到任何关于它的信息
- 如何设置一个范围来提取我想要获得的信息
- 系统参数信息A 与 SPI_GETMOUSE 返回 0
- 为什么 gcovr 会生成空覆盖率统计信息?
- Qt 错误:QSqlQuery::value:尝试从表中检索统计信息时未定位在有效记录上 (QComboBox)
- 在C++中获取 Linux 网络统计信息
- 如何在 Windows 上从 C++11 统计信息对象的文件序列号中查找文件名
- 从向量C 调用播放器统计信息
- G++ 编译统计信息
- C++或 Scilab 或 Octave 或 R 中具有大量数据的统计信息
- Linux C++:访问网络统计信息
- C++:用于识别原始指针使用情况的统计信息
- 如何实现高效的C++运行时统计信息
- C++使用情况统计信息
- 我已经安装了 GPERFtools-2.0,但我无法获取 CPU 配置文件统计信息
- 获取netstat -s统计信息的Windows API
- 编写GUI以显示统计信息
- 是否有一种跨平台的方法可以在C++中获取网络统计信息