我必须将一些波斯语文本写入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('''شسشس
یییییگ''')
关于python - QGraphicsTextItem RightToLeft文本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8903132/