import sys
from PyQt6.QtWidgets import QApplication, QWidget, QPlainTextEdit, QMainWindow, QPushButton, QVBoxLayout, QHBoxLayout
class Beispielfenster(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
# Erstellen eines zentralen Widgets für das Layout
central_widget = QWidget()
self.setCentralWidget(central_widget)
# Erstellen eines vertikalen Layouts
layout = QVBoxLayout(central_widget)
# TextArea erstellen und zum Layout hinzufügen
self.b = QPlainTextEdit()
self.b.insertPlainText("Hier kann Text eingegeben werden\n")
layout.addWidget(self.b)
# Buttons erstellen
button_ok = QPushButton("Text ausgeben")
cancel_button = QPushButton("Abbrechen")
# Horizontales Layout für die Buttons erstellen
button_layout = QHBoxLayout()
button_layout.addWidget(button_ok)
button_layout.addWidget(cancel_button)
# Button-Layout zum Hauptlayout hinzufügen
layout.addLayout(button_layout)
# Fenstereigenschaften setzen
self.setGeometry(300, 300, 350, 250)
self.setWindowTitle('Beispielfenster mit TextArea und Buttons')
# Verbinden der Buttons mit ihren Aktionen
button_ok.clicked.connect(self.on_ok_clicked)
cancel_button.clicked.connect(self.on_cancel_clicked)
def on_ok_clicked(self):
print(self.b.toPlainText())
def on_cancel_clicked(self):
print("Abbrechen wurde geklickt")
self.close()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Beispielfenster()
ex.show()
sys.exit(app.exec())
Ausgabe nicht nur in der Konsole sondern im PopUp:
def on_ok_clicked(self):
message = self.b.toPlainText() # Hole den Text aus dem QPlainTextEdit
QMessageBox.information(self, "Gespeicherter Text", message)
Zusätzlich das Modul QMessageBox importieren