2017-01-19 4 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