2017-01-19 139 views
0

下面的代码创建一个单独的QTextBrowser小部件,用长长的文本填充它。由于应用了view.setLineWrapMode(0),视图不包裹文本,而是将每行放在一行上,而不管行长度多长。请注意,当显示在窗口中的水平滚动条是一路rewided向右:所以我们看到了线的末尾:如何控制QTextBrowser水平滚动条

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

你可以得到的水平滚动条与{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