在 PyQt5 中居中 QTextEdit

Centring a QTextEdit in PyQt5

我的经验:

我对使用 python 有信心,但我是 PyQt5 的新手。

我在做什么:

我目前正在使用 PyQt5 for Python 3.6 构建文本编辑器,它具有普通文本编辑器的所有基本功能,例如保存文件、打开文件、更改字体等。

我的问题

目前我已经为我的程序构建了一个基本布局,其中包含一个带有各种按钮的菜单栏,我现在正要将 'textEdit' 框添加到程序中,但它没有出现在程序的中心UI:

与整体尺寸 window 相比,文本框也相对较小,因此目前我只剩下一个左上对齐的小文本框。我怎样才能使这个文本框居中并使其跨越整个 window.

我的主要class:

class App(QMainWindow):
    def __init__(self):
        super().__init__()
        self.title = 'Text Editor'
        self.left = 10
        self.top = 10
        self.width = 1080
        self.height = 920
        self.text = QTextEdit(self)

    self.initUI()

您可以添加 QTextEdit 作为 QMainWindow 的中心部件,如下所示:

class App(QMainWindow):
    def __init__(self):
        super().__init__()
        self.title = 'Text Editor'
        self.left = 10
        self.top = 10
        self.width = 1080
        self.height = 920

        self.text = QTextEdit(self)
        self.setCentralWidget(self.text)

截图:

或通过布局将其添加到中央小部件中:

class App(QMainWindow):
    def __init__(self):
        super().__init__()
        self.title = 'Text Editor'
        self.left = 10
        self.top = 10
        self.width = 1080
        self.height = 920

        self.widget = QWidget(self)

        self.text = QTextEdit(self.widget)
        self.widget.setLayout(QVBoxLayout())
        self.widget.layout().addWidget(self.text)

        self.setCentralWidget(self.widget)

截图: