1

下面发布的代码创建QTextBrowser了一个用 100 行文本填充它的窗口:从MESSAGE-0000一路开始到MESSAGE-0099

在此处输入图像描述

from PyQt4 import QtCore, QtGui
app=QtGui.QApplication([])

textBrowser = QtGui.QTextBrowser()
for i in range(100):
    textBrowser.insertPlainText('MESSAGE-%04d'%i + '\n')

textBrowser.show()
app.exec_()

问题:如何在其文本中找到行号:MESSAGE-0051,然后选择或突出显示它,然后滚动到它,使 selected-highlightet 行位于QTextBrowser窗口的顶部边缘,因此结果如下所示:

在此处输入图像描述

如何实现?

4

1 回答 1

0

如果您向后搜索,它会自动将选定的行滚动到视口的顶部:

textBrowser.moveCursor(QtGui.QTextCursor.End)
textBrowser.find('MESSAGE-0051', QtGui.QTextDocument.FindBackward)

(当然,如果您搜索say,MESSAGE-0095它不会将所选行放在顶部,因为视图无法向下滚动那么远)。

于 2017-01-07T02:17:27.103 回答