如何控制QTextBrowser水平滚动条

时间:2017-01-19 17:24:57

标签: python qtextbrowser

下面的代码创建了一个QTextBrowser窗口小部件,用长行文本填充它。由于应用了view.setLineWrapMode(0),因此视图不会包装文本,而是将每一行放在一行上,而不管该行的长度。请注意,当显示窗口时,水平滚动条会一直重写到右边:所以我们看到了行的结束:

enter image description here

相反,我希望textBrowser将水平滚动条设置在左侧,这样我们就可以看到文本行的开头。请看这个图片:

enter image description here

如何实现这一目标?

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

view = QtGui.QTextBrowser() 
for i in range(25):
    view.append(10*('Long Line of text # %004d '%i) )
view.setLineWrapMode(0)

view.show()
app.exec_()

1 个答案:

答案 0 :(得分:1)

您可以使用{your QTextBrowser}.horizontalScrollBar()获取水平滚动条,然后必须将其置于初始位置,即{your Scrollbar}.setValue(0)

{your QTextBrowser}.horizontalScrollBar().setValue(0)

完整代码:

import sys

from PyQt4 import QtGui

if __name__ == '__main__':

    app = QtGui.QApplication(sys.argv)

    view = QtGui.QTextBrowser()
    for i in range(25):
        view.append(10*('Long Line of text # %004d '%i) )

    view.setLineWrapMode(QtGui.QTextBrowser.NoWrap)
    view.show()
    view.horizontalScrollBar().setValue(0)
    sys.exit(app.exec_())

输出:

enter image description here