PyQT Textarea erstellen

iimport sys
from PyQt6.QtWidgets import QApplication, QWidget, QPlainTextEdit, QMainWindow

class Beispielfenster(QMainWindow):
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        self.b = QPlainTextEdit(self)
        self.b.insertPlainText("Hier kann Text eingegeben werden\n")
        self.setCentralWidget(self.b)
        self.setGeometry(300, 300, 350, 250)
        self.setWindowTitle('Beispielfenster mit TextArea')

if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Beispielfenster()
    ex.show()
    sys.exit(app.exec())

Um die Größe des Eingabefelds (QLineEdit) in Ihrer PyQt6-Anwendung zu ändern, haben Sie mehrere Möglichkeiten. Hier sind einige Ansätze, die Sie verwenden können:

  1. Setzen einer festen Breite:
    Sie können die Methode setFixedWidth() verwenden, um eine feste Breite für das Eingabefeld festzulegen.
  2. Setzen einer minimalen und maximalen Breite:
    Mit setMinimumWidth() und setMaximumWidth() können Sie einen Bereich für die Breite definieren.
  3. Anpassen der Größe mit resize():
    Die resize()-Methode erlaubt es Ihnen, sowohl Breite als auch Höhe zu setzen.
  4. Verwenden von sizeHint():
    Sie können die empfohlene Größe des Widgets überschreiben.
  5. Setzen einer festen Höhe:
    Mit setFixedHeight() können Sie die Höhe des Eingabefelds anpassen.

Hier ist ein Beispiel, wie Sie den Code anpassen können, um einige dieser Methoden zu demonstrieren:

import sys
from PyQt6.QtWidgets import QApplication, QWidget, QVBoxLayout, QPushButton, QLabel, QLineEdit
from PyQt6.QtCore import QSize

class MyApp(QWidget):
    def __init__(self):
        super().__init__()

        # Layout erstellen
        layout = QVBoxLayout()
        label = QLabel("Hier den Text eingeben")
        eingabe = QLineEdit('Eingabe')

        # Größe des Eingabefelds ändern
        eingabe.setFixedWidth(200)  # Setzt eine feste Breite von 200 Pixeln
        eingabe.setMinimumHeight(30)  # Setzt eine Mindesthöhe von 30 Pixeln

        # Alternativ können Sie auch resize() verwenden:
        # eingabe.resize(200, 30)

        # Oder Sie überschreiben sizeHint:
        # eingabe.sizeHint = lambda: QSize(200, 30)

        # Widgets erstellen
        btn1 = QPushButton('Ersetzen')

        # Widgets zum Layout hinzufügen
        layout.addWidget(btn1)
        layout.addWidget(label)
        layout.addWidget(eingabe)

        # Layout zum Hauptfenster hinzufügen
        self.setLayout(layout)

        # Fenster Einstellungen
        self.setWindowTitle('Text ersetzen')
        self.setGeometry(100, 100, 300, 200)

if __name__ == '__main__':
    app = QApplication(sys.argv)
    window = MyApp()
    window.show()
    sys.exit(app.exec())

In diesem Beispiel habe ich setFixedWidth(400) verwendet, um die Breite des Eingabefelds auf 200 Pixel festzulegen, und setMinimumHeight(200), um eine Mindesthöhe von 200 Pixeln zu setzen. Sie können diese Werte nach Ihren Bedürfnissen anpassen.

Beachten Sie, dass die Verwendung von festen Größen die Flexibilität Ihres Layouts einschränken kann. Wenn Sie ein responsives Design wünschen, sollten Sie stattdessen mit Layouts und deren Eigenschaften arbeiten, um die Größe der Widgets dynamisch anzupassen.

Textarea mit Button

import sys
from PyQt6.QtWidgets import QApplication, QWidget, QPlainTextEdit, QMainWindow, QPushButton, QVBoxLayout, QHBoxLayout, QWidget

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("OK")
        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')

if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Beispielfenster()
    ex.show()
    sys.exit(app.exec())