2017-09-27 4 views
0

Meine Erfahrung:Zentrieren eines QTextEdit in PyQt5

Ich bin zuversichtlich, Python im Allgemeinen verwenden, aber ich bin neu in PyQt5.

Was arbeite ich an:

Ich bin derzeit mit PyQt5 für Python 3.6 zu einem Texteditor zu erstellen, es hat alle grundlegenden Funktionen, die ein normaler Texteditor würde zB das Speichern von Dateien, Dateien zu öffnen, Güsse usw.

Mein Problem

Zeit eine Menüleiste mit verschiedenen Tasten, ich bin jetzt an dem Punkt der Zugabe des ‚textEdit‘ Box in die I enthält eine grundlegende Layout für mein Programm gebaut Programm aber es tut es erscheint nicht in der Mitte der Benutzeroberfläche:

The textbox

Das Textfeld im Vergleich auch relativ klein ist, um die Größe des gesamten Fensters, so zur Zeit ich mit einem kleinen, oben links ausgerichtet Textfeld am linken. Wie kann ich dieses Textfeld zentrieren und es über das gesamte Fenster erstrecken?

Meine Hauptklasse:

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

Antwort

1

Sie die QTextEdit als zentrales Widget von QMainWindow wie unten gezeigt hinzufügen:

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) 

Screenshot:

enter image description here

Oder füge es insi hinzu de zentrales Widget durch ein Layout:

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) 

Screenshot:

enter image description here