2017-04-06 6 views
1

텍스트 위젯을 사용하여 이미지 위에 텍스트를 표시하고 이미지의 가운데에 텍스트가 있는지 확인하고 싶습니다. (실제로 변경된 내용을 나타 내기 위해 모든 프레임마다 텍스트가 바뀌는 영화를 만들고 싶습니다.) pyqtgraph에서 텍스트 위젯의 중심을 정렬하는 방법

나는 시도 (A 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) 

그러나,이 비를 중심으로 텍스트 레이블을 초래한다. 이미지의 중심에 텍스트의 중심을 가져 오려면 어떻게합니까? 내 데이터의 크기는 textwidget의 텍스트와 함께 변경 될 수 있으므로 시행 착오보다 더 영리한 방법을 찾고 있습니다. setAnchor 메서드를 살펴 보았지만 모서리 만 지정했습니다.

관련, 더크는 앵커 권한을 설정해야 할 것 같습니다

답변

1

. documentation을 보면 다른 앵커로 TextItem을 시작할 수 있음을 알 수 있습니다. 중앙에 배치하려면

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

등이 필요합니다. 이렇게하면 항목의 앵커가 x 방향 중앙에 배치됩니다.