2017-09-27 105 views
0

我的經驗:在PyQt5圍繞一個QTextEdit

我相信在一般使用python,但我是新來PyQt5。

什麼我的工作:

我目前使用PyQt5爲Python 3.6建立一個文本編輯器,它擁有所有的基本功能,一個普通的文本編輯器將不得不例如,保存文件,打開文件,改變字體等

我的問題

目前,我建立了一個基本的佈局含有各種按鈕的菜單欄我的計劃,我現在是在加入了「文字編輯」框入點程序,但它的確如此沒有出現在UI的中心:

The textbox

文本框也相對較小相比,整體窗口的大小,所以目前我離開我的小,左上角對齊文本框。我怎樣才能將這個文本框居中並使其跨越整個窗口。

我的主類:

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() 

回答

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) 

截圖:

enter image description here

或者添加它insi德通過佈局中央小窗口:

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) 

截圖:

enter image description here