下面的代码用QTextBrowser
小部件创建一个窗口。
在五秒钟内,使用
它的.insertPlainText()
方法。
一旦文本填满整个字段,QTextBrowser
就会自动添加一个滚动条。但是它不会向下滚动,因此最后一行文本将始终可见(或可读)。在
我想知道如何使QTestBrowser
自动向下滚动,以便文本的最后一行始终在其文本字段内或可见。如何实现?在
截图:
代码:
import sys, time
from PyQt4 import QtCore, QtGui
class MyDialog(QtGui.QDialog):
def __init__( self, parent = None ):
super(MyDialog, self).__init__(parent)
self._console = QtGui.QTextBrowser(self)
layout = QtGui.QVBoxLayout()
layout.addWidget(self._console)
self.setLayout(layout)
def updateField(self):
for m in range(5):
for n in range(100):
self._console.insertPlainText('%s : '%n)
QtGui.qApp.processEvents()
time.sleep(1)
if ( __name__ == '__main__' ):
app = None
if ( not QtGui.QApplication.instance() ):
app = QtGui.QApplication([])
dlg = MyDialog()
dlg.show()
dlg.updateField()
if ( app ): app.exec_()
由于
QTextBrowser
是来自QTextEdit
小部件的子类,因此我们可以使用它的.ensureCursorVisible()
方法。在要使
QTextBrowser
在填充文本时自动向下滚动,我们只需添加一行以启用其负责此功能的属性: 自我_console.ensureCursorVisible()以下是工作代码解决方案:
只需使用
.append
而不是.insertPlainText
来确保自动滚动:相关问题 更多 >
编程相关推荐