我尝试了以下操作(在 jupyter 笔记本中):
%pylab inline
%gui qt
import pyqtgraph as pg
# new cell
imv = pg.ImageView()
imv.show()
#new cell
# add a textwidget
tw_center = pg.TextItem('')
tw_center.setFont(pg.Qt.QtGui.QFont("arial", 20))
imv.addItem(tw_center)
# set it in the center
tw_center.setPos(50, 0)
# display text in red to make it visible
tw_center.setText('hi there', (255,0,0))
# create and show data
data = np.random.rand(100,100)
imv.setImage(data)
但是,这会导致文本标签不居中,因为左角当前位于中心。如何让文字的中心位于图像的中心?我的数据大小以及文本小部件中的文本可能会发生变化,因此我正在寻找一种比试错更聪明的方法。我查看了 setAnchor 方法,但它只指定了角点。
文档,您可以看到您可以使用不同的锚点启动TextItem
。为了让它居中,你可能需要类似的东西
tw_center = pg.TextItem('',anchor=(0.5,0))
这会将项目的锚点设置为在 x 方向居中。