在 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)
截图:
我的经验:
我对使用 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)
截图: