我必须将一些波斯语文本写入 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)
谢谢。
请您参考如下方法:
看起来你可以使用 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('''شسشس
یییییگ''')
