我必须在python / QT UI中显示大量文本。 此文本表示测试仪发送的模式(数字信号)。
为例:
// Command 1
0x002045A85
0x002045A84
0x002045A83
...
// Command 2
0x002045A85
0x002045A84
0x002045A83
...
我只会在UI上显示模式中包含的注释。如果用户单击注释行,则文本将展开,并且某些十六进制代码将写在单击的行下方。如果用户再次单击同一注释行,则十六进制行将折叠。
如果用户点击十六进制数行,将弹出带有数字信号的图形。
我不知道该怎么做。
拜托,有人可以给我一个可以帮助我进行这项开发的例子吗?
伯努瓦
答案 0 :(得分:2)
使用QTreeWidget
:“命令N”行是您的第一级,可以展开以显示十六进制数字项。 QTreeWidget
有一个clicked()
信号,为您提供点击的项目,因此实施点击事件以显示信号图形应该很容易。
这种方法的唯一缺点是QTreeWidget
要求您一次创建整个树结构。如果您的数据非常大并且内存使用率成为一个问题,您可以稍后将此UI扩展为QTreeView
,其中包含一个自定义模型,可以懒惰地加载第二级数据。