之前做了一個小程序,界面文本顯示需要動態刷新並且滾動到最底部顯示最新信息,做了一個記錄滾動條到底部的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()