下面发布的代码会创建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
的行号,然后选择或突出显示它,然后滚动到它,以便所选的高亮线位于{{1}的顶部边缘窗口,所以结果如下:
如何实现它?
答案 0 :(得分:0)
如果向后搜索,它会自动将所选行滚动到视口的顶部:
textBrowser.moveCursor(QtGui.QTextCursor.End)
textBrowser.find('MESSAGE-0051', QtGui.QTextDocument.FindBackward)
(当然,如果您搜索说MESSAGE-0095
,它不会将所选行放在顶部,因为该视图无法向下滚动那么远。)