如何自动滚动滚动区域?例如,当有新的更新而不是滚动区域的 View 保持不变时,我想用新的文本往下走。将其想象为在 CMD 控制台中,当您键入命令时,它会自动滚动输出。
最佳答案
我只是要回应另一个答案,但我只是不知道在分配的空间中表达它的最佳方式。
QScrollArea 是设计自定义 PyQt 小部件时非常有用的小部件 - 我经常使用它们。诸如推出小部件、卡片小部件之类的东西,任何您可以显示多个需要滚动的子小部件的东西都可能是一个非常有用的实用程序。我不同意 QScrollArea 本身没有多大用处的想法。
QTextEdit 答案解决了开发人员面临的问题 - 但只是因为它发生了问题,所以问题确实与此有关。如果您尝试滚动文本编辑,请使用该答案。
但是,如果您正在寻找实际问题的答案并遇到此线程,那么向下滚动 QScrollArea 的方法是实际修改滚动条的值。
area = QScrollArea(parent)
vbar = area.verticalScrollBar()
vbar.setValue(vbar.maximum())
如果您想滚动到特定区域或任何东西(例如实现 ensureCursorVisible),那么您想要获取要滚动到的区域小部件上的位置,计算出它的高度百分比,并将该值应用于垂直滚动条。 (伪代码)
关于python - 在 QScrollArea 中滚动 pyqt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11886908/