如何查找 QTextEdit 中显示的数据长度
Posted
技术标签:
【中文标题】如何查找 QTextEdit 中显示的数据长度【英文标题】:How to find length of data displayed in QTextEdit 【发布时间】:2013-12-01 10:11:53 【问题描述】:我在 QTextEdit 中显示来自设备的实时实时数据,数据的长度超过 QTextEdit 的大小,因此出现滚动,但它们无用,因为它们无法移动,因为新数据正在替换旧数据不断地。所以我看不到完整的数据。所以我移除了滚动条,现在数据被截断了,现在我想知道截断数据的长度,以便我也可以为显示该数据做准备..
【问题讨论】:
没有可靠的方法来做到这一点。您可能需要检查 fontmetrics,然后汇总文本中的所有间距,然后计算出 QTextEdit 的像素高度。它很痛苦,结果不会准确。 【参考方案1】:让一个 GUI 元素经常改变大小可能是不可取的,所以也许你可以采取不同的方式:
启用滚动条。 当用户触摸滚动条时,停止更新小部件并启动一个计时器对象(X 秒后触发)。 当用户滚动时,重置计时器。 在 X 秒不活动后或当用户滚动到顶部时,再次开始更新小部件。另一种选择: 添加一个按钮以启用/禁用对小部件的更新,以便用户可以平静地阅读其内容。
【讨论】:
【参考方案2】:是否可以选择在后台缓冲数据并为用户提供一个“刷新”按钮,允许他将数据从缓冲区获取(部分)到 QTextEdit 中?
每次他按下“刷新”按钮时,他都会从缓冲区中获取另一个块,同时你会添加到它,这样你就不会丢失任何东西。
【讨论】:
以上是关于如何查找 QTextEdit 中显示的数据长度的主要内容,如果未能解决你的问题,请参考以下文章