Как выровнять QPlainTextEdit вправо? - PullRequest
0 голосов
/ 24 апреля 2020

Я хочу написать блокнот на python с PyQt5 для персидского языка. Как я могу выровнять текст в QPlainTextEdit вправо? это мой код:

from PyQt5.QtWidgets import QApplication, QMainWindow, QPlainTextEdit
from PyQt5.QtCore import Qt, QLocale

class TextBox(QPlainTextEdit):
    def persian(self):
        self.setFixedSize(640, 480)

        self.setLayoutDirection(Qt.RightToLeft)
        self.setLocale(QLocale(QLocale.Persian, QLocale.Iran))


class MainWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.GUI()

    def GUI(self):
        self.setWindowTitle("My title")
        self.setFixedSize(640, 480)

        self.text = TextBox(self)
        self.text.persian()


app = QApplication([])
window = MainWindow()
window.show()

app.exec_()

1 Ответ

1 голос
/ 24 апреля 2020

Вы можете использовать QTextEdit вместо QPlainTextEdit и использовать setAlignment(Qt.AlignRight), например

from PyQt5.QtWidgets import QTextEdit
from PyQt5.QtCore import Qt

class TextBox(QTextEdit):
    def persian(self):
        self.setFixedSize(640, 480)

        self.setLayoutDirection(Qt.RightToLeft)
        self.setLocale(QLocale(QLocale.Persian, QLocale.Iran))
        # set text alignment to AlignRight
        self.setAlignment(Qt.AlignRight)
...