Python 在QScrollArea pyqt中滚动

Python 在QScrollArea pyqt中滚动,python,scroll,pyqt,Python,Scroll,Pyqt,如何自动滚动滚动区域?例如,当有一个新的更新而不是滚动区域的视图保持不变时,我想用新的文本继续下去。可以将其想象为在CMD控制台中,当您键入命令时,它会自动滚动输出。用于设置要滚动到的位置,然后使用滚动到该位置: textedit.moveCursor(QtGui.QTextCursor.End) textedit.ensureCursorVisible() 我只是想回答另一个答案,但在分配的空间里,我不知道用什么最好的方式来表达它 当设计自定义PyQt小部件时,QScrollArea是非常有

如何自动滚动滚动区域?例如,当有一个新的更新而不是滚动区域的视图保持不变时,我想用新的文本继续下去。可以将其想象为在CMD控制台中,当您键入命令时,它会自动滚动输出。

用于设置要滚动到的位置,然后使用滚动到该位置:

textedit.moveCursor(QtGui.QTextCursor.End)
textedit.ensureCursorVisible()

我只是想回答另一个答案,但在分配的空间里,我不知道用什么最好的方式来表达它

当设计自定义PyQt小部件时,QScrollArea是非常有用的小部件——我经常使用它们。诸如卷展小部件、卡片小部件,任何可以显示多个子小部件并需要滚动的东西都是非常有用的工具。我不同意QScrollArea本身没有多大用处的观点

QTextEdit的答案解决了开发人员面临的问题——但这只是因为它发生了,问题才真正与此相关。如果您试图滚动文本编辑,请使用该答案

但是,如果您正在搜索实际问题的答案,并且遇到此线程,那么向下滚动QScrollArea的方法实际上是修改滚动条的值

area = QScrollArea(parent)
vbar = area.verticalScrollBar()
vbar.setValue(vbar.maximum())

如果要滚动到特定区域或任何内容(如实现EnsureRecursorVisible),则需要在该区域的小部件上获取要滚动到的位置,计算其高度的百分比,并将该值应用于垂直滚动条。(伪代码)

我很困惑……这个问题是针对QScrollArea还是针对QTextEdit的?因为如果是针对QScrollArea的,那么这就不起作用了。您必须执行以下操作:area.verticalScrollBar().setValue(area.verticalScrollBar().maximum())如果它用于QTextEdit,那么这个问题是误导性的…@EricHulser。这个问题清楚地提到了文本,所以我只是假设它与一个
QTextEdit
-毕竟,一个
qscrollara
本身没有多大用处。
QScrollBar
已经有了
ensurevasible
ensureWidgetVisible
功能,可以垂直和水平滚动到特定点或子小部件,因此无需重新实现它们。