我有QTextEdit
并给出了一个列号,比如说x
,我希望能够横向滚动(通过调用QTextEdit.horizontalScrollBar().setValue()
到一个值,使列x
}是QTextEdit
中的第一个可见列。有没有办法做到这一点?
从我看到的情况来看,QTextEdit.horizontalScrollBar().setValue()
采用代表像素的值,而不是列号。因此,只需将滚动值设置为x
即可。
答案 0 :(得分:2)
所以你认为你所建议的只适用于固定宽度的字体。因此,假设您拥有的是什么,那么您可以使用QFontMetrics获取字体的宽度,然后将字体宽度乘以您想要的列数。
from PyQt5.QtGui import QFont, QFontMetrics
myfont = QFont("courier", 24)
fm = QFontMetrics(myfont)
f_width = fm.width("A")
QTextEdit.horizontalScrollBar().setValue(f_width * x)