PyQT – Eingabe speichern

Python und QT – Eingabe speichern

import sys
from PyQt6.QtWidgets import QApplication, QWidget, QVBoxLayout, QPushButton, QTextEdit, QFileDialog

class App(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        layout = QVBoxLayout()

        # Textarea erstellen
        self.textEdit = QTextEdit()
        layout.addWidget(self.textEdit)

        # Speichern-Button erstellen
        save_button = QPushButton('Text speichern')
        save_button.clicked.connect(self.save_text)
        layout.addWidget(save_button)

        self.setLayout(layout)
        self.setWindowTitle('Textarea mit Speichern-Button')
        self.show()

    def save_text(self):
        # Text aus dem TextEdit holen
        text = self.textEdit.toPlainText()

        # Dialog zum Dateispeichern öffnen
        options = QFileDialog.Options()
        file_name, _ = QFileDialog.getSaveFileName(self, "Datei speichern", "", "Text Files (*.txt);;All Files (*)", options=options)

        if file_name:
            # Text in die Datei schreiben
            with open(file_name, 'w') as file:
                file.write(text)

if __name__ == "__main__":
    app = QApplication(sys.argv)
    ex = App()
    sys.exit(app.exec())

Erklärungen:

  1. Textarea erstellen:
   self.textEdit = QTextEdit()
   layout.addWidget(self.textEdit)
  1. Speichern-Button erstellen und Funktion verknüpfen:
   save_button = QPushButton('Text speichern')
   save_button.clicked.connect(self.save_text)
   layout.addWidget(save_button)
  1. Text speichern Funktion:
   def save_text(self):
       # Text aus dem TextEdit holen
       text = self.textEdit.toPlainText()

       # Dialog zum Dateispeichern öffnen
      
       file_name, _ = QFileDialog.getSaveFileName(self, "Datei speichern", "", "Text Files (*.txt);;All Files (*)", options=options)

       if file_name:
           # Text in die Datei schreiben
           with open(file_name, 'w') as file:
               file.write(text)

In der save_text Methode:

  • Holst du den Text aus dem QTextEdit mit toPlainText().
  • Öffnest du einen Dialog zum Speichern der Datei.
  • Wenn eine Datei ausgewählt wurde, schreibst du den Text in diese Datei.

Dieser Code ist gut, um Eingaben aus deinem Textfeld zu speichern. Wenn du noch mehr Features brauchst, lass es mich wissen, bro!