2

我必须在 python/QT UI 中显示大量文本。此文本表示测试仪发送的模式(数字信号)。

例子:

// Command 1
0x002045A85
0x002045A84
0x002045A83
...
// Command 2
0x002045A85
0x002045A84
0x002045A83
...

我只会在 UI 上显示模式中包含的注释。如果用户单击注释行,文本将展开,一些十六进制代码将写入单击的行下方。如果用户再次单击同一注释行,十六进制行将被折叠。

如果用户单击十六进制线,将弹出带有数字信号的图形。

我不知道该怎么做。

拜托,有人可以给我一个可以帮助我发展的例子吗?

贝努瓦

4

1 回答 1

2

使用QTreeWidget:“Command N”行是您的第一级,可以展开以显示十六进制数字项。QTreeWidget有一个clicked()信号可以为您提供单击的项目,因此实现显示信号图形的单击事件应该很容易。

这种方法的唯一缺点是QTreeWidget需要您一次创建整个树结构。如果您的数据非常大并且内存使用成为问题,您可以稍后将此 UI 扩展为QTreeView具有自定义模型的自定义模型,该模型可以延迟加载二级数据。

于 2013-01-18T21:45:10.777 回答