如何判断QPlainTextEdit是否已滚动?

问题描述

一个众所周知的错误功能?),与QTpainTextEdit关联的滚动条有时会​​阻塞valueChanged信号,所以我认为我会覆盖scrollContentsBy()虚拟函数并注意到以这种方式滚动。但是有时也不会调用scrollContentsBy。那么,魔鬼如何才能可靠地注意到QPlainTextEdit已滚动?

解决方法

需要知道滚动是否已更改时,可以使用contentOffset()检查当前内容的偏移量。这是一个受保护的方法,因此您需要将QPlainTextEdit子类化才能调用它。一个警告是,如果内容小于视口,即使内容在视口中移动,它也会返回(0,0),因此最后取决于您对滚动的定义,但是您可以实现一些自定义逻辑,具体取决于您的要求。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...