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,...)的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Qt 中制作可展开/可折叠的部分小部件

左侧菜单栏折叠展开效果-超级简单

如何防止在动画完成之前点击 html 元素?

WPF扩展器单击事件上的展开/折叠网格列

如何在单击href时翻转展开或折叠文本 - 淘汰赛

winform 中treeview 展开和折叠首层节点时 切换显示图片,类似qq首层节点那样,点击之后箭头图片改变