我的经历:
我对使用python很有信心,但我是PyQt5的新手。
我在做什么:
我目前正在使用PyQt5 for Python 3.6来构建文本编辑器,它具有普通文本编辑器所具有的所有基本功能,例如保存文件,打开文件,更改字体等。
我的问题
目前我为我的程序构建了一个基本布局,其中包含一个带有各种按钮的菜单栏,我现在正在添加' textEdit'框进入程序,但它不会出现在UI的中心:
与整个窗口的大小相比,文本框也相对较小,因此目前我留下了一个小的,左上角对齐的文本框。如何将此文本框居中并使其跨越整个窗口。
我的主要课程:
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()
答案 0 :(得分:1)
您可以将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)
<强>截图:强>