QT:如何在点击事件上展开/折叠文本(qtextbrowser,qwebview,...)
Posted
技术标签:
【中文标题】QT:如何在点击事件上展开/折叠文本(qtextbrowser,qwebview,...)【英文标题】:QT: How to expand/collapse text on click event (qtextbrowser, qwebview, ...) 【发布时间】:2013-01-18 18:51:21 【问题描述】:我必须在 python/QT UI 中显示大量文本。 此文本表示测试仪发送的模式(数字信号)。
示例:
// Command 1
0x002045A85
0x002045A84
0x002045A83
...
// Command 2
0x002045A85
0x002045A84
0x002045A83
...
我只会在 UI 上显示模式中包含的 cmets。如果用户单击注释行,文本将展开,一些十六进制代码将写入单击的行下方。如果用户再次单击同一注释行,十六进制行将被折叠。
如果用户单击十六进制线,将弹出带有数字信号的图形。
我不知道该怎么做。
拜托,有人可以发给我一个可以帮助我发展的例子吗?
贝努瓦
【问题讨论】:
您需要发布更多代码,以便我们充分了解所需的应用程序。 【参考方案1】:使用QTreeWidget
:“Command N”行是您的第一级,可以展开以显示十六进制数字项。 QTreeWidget
有一个 clicked()
信号,它为您提供单击的项目,因此实现显示信号图形的单击事件应该很容易。
这种方法的唯一缺点是QTreeWidget
要求您一次创建整个树结构。如果您的数据非常大并且内存使用成为问题,您可以稍后将此 UI 扩展为 QTreeView
,并使用延迟加载二级数据的自定义模型。
【讨论】:
以上是关于QT:如何在点击事件上展开/折叠文本(qtextbrowser,qwebview,...)的主要内容,如果未能解决你的问题,请参考以下文章