2012-01-17 73 views
2

我必須寫一些波斯文本到QGraphicsTextItem,但我找不到如何讓QGraphicsTextItem寫入RightToLeft !.
任何人都可以幫助我嗎?QGraphicsTextItem RightToLeft文本

我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

不,它改變了一些東西,但不是我需要的東西!第一行必須是正確的!沒有離開!看這張照片,ty http://ma3ta.persiangig.com/programing/text.png – 2012-01-18 01:09:08

+0

@SepehrMohammadPour。我已經通過一些進一步的建議更新了我的答案 – ekhumoro 2012-01-18 01:48:24

相關問題