2017-04-06 10 views
1

テキストウィジェットを使用して画像上にテキストを表示し、そのテキストが画像の中央に配置されていることを確認します。 (私は実際に何が変更されたかを示すためにフレームごとにテキストが変化するムービーを作りたい)。pyqtgraphでテキストウィジェットの中心を揃える方法

私は(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メソッドを見ましたが、コーナーのみを指定しています。

に関して、 ディルク

答えて

1

あなたがアンカー権を設定する必要があるように見えます。 documentationを見ると、異なるアンカーでTextItemを開始できることがわかります。それを中心にするには、

tw_center = pg.TextItem('',anchor=(0.5,0)) 

のようにする必要があります。これは、アイテムのアンカーをx方向の中央に設定します。

関連する問題