2012-01-17 7 views
2

私はQGraphicsTextItemにいくつかのペルシア語のテキストを書く必要がありますが、私はQGraphicsTextItemにRightToLeft!と書くことができません!誰でも助けてくれますか?
QGraphicsTextItem RightToLeft text

私はこの方法をしようと試みたが、それは私のために動作しませんでした:

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

関連する問題