2012-01-17 2 views
2

QGraphicsTextItem에 일부 페르시아어 텍스트를 써야하지만 어떻게하면 QGraphicsTextItem을 RightToLeft!로 쓸 수 있는지 찾을 수 없습니다.
아무도 도와 줄 수 있습니까?. QGraphicsTextItem RightToLeft text

나는이 방법을 tryed하지만 나를 위해 작동하지 않았다
class DiagramTextItem(QtGui.QGraphicsTextItem): 

def __init__(self, parent=None, scene=None): 
    super(DiagramTextItem, self).__init__(parent, scene) 
    doc =QtGui.QTextDocument ('''شسشس 
           یییییگ''') 
    txtOpt = QtGui.QTextOption() 
    txtOpt.setAlignment(QtCore.Qt.AlignRight) 
    doc.setDefaultTextOption(txtOpt) 

감사합니다.

답변

0

QTextOption.setTextDirectionQt.RightToLeft을 사용할 수있는 것 같습니다. 그래도 문제가 해결되지 않으면

class DiagramTextItem(QtGui.QGraphicsTextItem): 
    def __init__(self, parent=None, scene=None): 
     super(DiagramTextItem, self).__init__(parent, scene) 
     doc = QtGui.QTextDocument() 
     txtOpt = QtGui.QTextOption() 
     txtOpt.setTextDirection(QtCore.Qt.RightToLeft) 
     doc.setPlainText('''شسشس 
         یییییگ''') 

에서, QGraphicsTextItem에 커서를 설정하려고 :

class DiagramTextItem(QtGui.QGraphicsTextItem): 
    def __init__(self, parent=None, scene=None): 
     super(DiagramTextItem, self).__init__(parent, scene) 
     cursor = self.textCursor() 
     format = cursor.charFormat() 
     format.setLayoutDirection(QtCore.Qt.RightToLeft) 
     cursor.setFormat(format) 
     self.setTextCursor(cursor) 
     self.setPlainText('''شسشس 
          یییییگ''') 
+0

그러나 당신이 텍스트를 설정 전에 방향 을 설정해야 할 수도 있습니다 아니, 그것은 일을 바꿨지 만, 내가 필요로하는 것이 아직도 아니다! 첫 번째 줄은 오른쪽에 있어야합니다! 왼쪽이 아닙니다! 이 사진을보십시오 http://ma3ta.persiangig.com/programing/text.png –

+0

@SepehrMohammadPour. 내 대답을 몇 가지 추가 제안으로 업데이트했습니다. – ekhumoro