我必须给QGraphicsTextItem
写一些波斯语文本,但我找不到如何让QGraphicsTextItem
写出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.setAlignment(QtCore.Qt.AlignRight)
doc.setDefaultTextOption(txtOpt)
谢谢。
答案 0 :(得分:0)
您似乎可以将QTextOption.setTextDirection与Qt.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('''شسشس
یییییگ''')