【问题标题】:How to control QTextBrowser horizontal scroll bar如何控制QTextBrowser水平滚动条
【发布时间】:2017-01-19 17:24:56
【问题描述】:

下面的代码创建了一个QTextBrowser 小部件,用长文本行填充它。由于应用了view.setLineWrapMode(0),因此视图不会换行文本,而是将每一行放在一行上,无论该行有多长。请注意,当显示窗口时,水平滚动条会一直向右变宽:所以我们看到了行尾:

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

如何做到这一点?

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_()

【问题讨论】:

    标签: python qtextbrowser


    【解决方案1】:

    {your QTextBrowser}.horizontalScrollBar()可以得到Horizo​​ntal Scrollbar,然后你要把它放在初始位置,也就是{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_())
    

    输出:

    【讨论】:

    • 如果我想进入列表的最底部怎么办? setvalue(0) 是 Top... 然后好吗?
    猜你喜欢
    • 2018-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-16
    • 1970-01-01
    • 2016-08-09
    • 1970-01-01
    • 2021-11-27
    相关资源
    最近更新 更多