如何控制QTextBrowser水平滚动条
Posted
技术标签:
【中文标题】如何控制QTextBrowser水平滚动条【英文标题】:How to control QTextBrowser horizontal scroll bar 【发布时间】: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_()
【问题讨论】:
【参考方案1】:用your QTextBrowser.horizontalScrollBar()
可以得到Horizontal 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... 然后好吗?以上是关于如何控制QTextBrowser水平滚动条的主要内容,如果未能解决你的问题,请参考以下文章
在 C# RichTextBox 中为 32 位滚动设置水平滚动条