PyQt 滚动条自动到最底部
之前做了一个小程序,界面文本显示需要动态刷新并且滚动到最底部显示最新信息,做了一个记录滚动条到底部的demo,如果需要实时刷新需要用到timerEvent.
import sys
from PyQt5.QtWidgets import QWidget, QTextBrowser, QApplication
class Demo(QWidget):
def __init__(self):
super(Demo, self).__init__()
self.init_ui()
def init_ui(self):
# 窗口大小
self.resize(300, 300)
# 添加TextBrowser
browser = QTextBrowser(self)
browser.resize(300, 300)
# 设置文本内容
browser.setText('这是一行文字\n' * 100)
# 设置滚动条到最低部
browser.ensureCursorVisible() # 游标可用
cursor = browser.textCursor() # 设置游标
pos = len(browser.toPlainText()) # 获取文本尾部的位置
cursor.setPosition(pos) # 游标位置设置为尾部
browser.setTextCursor(cursor) # 滚动到游标位置
# 启动方法
def start():
app = QApplication(sys.argv)
m = Demo()
m.show()
sys.exit(app.exec_())
if __name__ == '__main__':
start()