如何在QTextBrowser中居中选定的文本

时间:2017-01-07 01:30:45

标签: python qt pyqt qlineedit qtextbrowser

下面发布的代码会创建QTextBrowser窗口,其中包含100行文字:从MESSAGE-0000一直到MESSAGE-0099

enter image description here

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}的顶部边缘窗口,所以结果如下:

enter image description here

如何实现它?

1 个答案:

答案 0 :(得分:0)

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

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

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