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()

posted @ 2020-01-15 16:53  MilesMa  阅读(2805)  评论(1编辑  收藏  举报