PyQt5 GUI erstellen: Schritt-für-Schritt Anleitung

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Was ist PyQt5 und wofür wird es verwendet?

PyQt5 ist eine Sammlung von Python-Bindungen für die Qt-Bibliothek. Es ist eines der beliebtesten Werkzeuge zur Erstellung plattformunabhängiger grafischer Benutzeroberflächen. Mit PyQt5 können Entwickler professionelle Desktop-Anwendungen mit modernem Design und umfangreichen Funktionen erstellen.

Die wichtigsten Funktionen von PyQt5

PyQt5 bietet Entwicklern eine breite Palette an Möglichkeiten:

  • Viele vorgefertigte Widgets über das Modul QtWidgets
  • Unterstützung für Fenster, Schaltflächen, Eingabefelder und Listen
  • Implementierung eines Signal-Slot-Systems für ereignisorientierte Programmierung
  • Integration mit grafischen Elementen über QGraphicsView
  • Anpassung von Oberflächen mit Stylesheets
  • Unterstützung mehrerer Betriebssysteme

Installation der PyQt5-Bibliothek

Verwende den Paketmanager pip, um PyQt5 zu installieren:

pip install PyQt5

Erstellen eines einfachen Anwendungsfensters

Jede PyQt5-Anwendung beginnt mit der Erstellung eines QApplication-Objekts. Dies ist das Hauptobjekt der Anwendung, das alle Fenster und Ereignisse verwaltet. Das Hauptfenster wird auf Basis von QWidget erstellt.

import sys
from PyQt5.QtWidgets import QApplication, QWidget

app = QApplication(sys.argv)
window = QWidget()
window.setWindowTitle("Einfaches Fenster")
window.resize(300, 200)
window.show()
sys.exit(app.exec_())

QApplication ist ein obligatorischer Bestandteil jeder GUI-Anwendung mit PyQt5. Es verarbeitet Systemereignisse und verwaltet den Lebenszyklus der Anwendung.

Arbeiten mit grundlegenden Steuerelementen

QLineEdit - Texteingabefeld

QLineEdit ist ein einzeiliges Texteingabefeld. Dieses Widget wird häufig verwendet, um Benutzereingaben zu erfassen.

from PyQt5.QtWidgets import QLineEdit, QVBoxLayout, QPushButton

window = QWidget()
window.setWindowTitle("QLineEdit Beispiel")

layout = QVBoxLayout()

line_edit = QLineEdit()
line_edit.setPlaceholderText("Gib deinen Namen ein")

button = QPushButton("Senden")

def on_click():
    print(f"Hallo, {line_edit.text()}!")

button.clicked.connect(on_click)

layout.addWidget(line_edit)
layout.addWidget(button)
window.setLayout(layout)
window.show()

Das Eingabefeld unterstützt verschiedene Methoden zur Textbearbeitung:

  • setText() - Text programmatisch setzen
  • text() - eingegebenen Text abrufen
  • setPlaceholderText() - Platzhaltertext festlegen
  • setMaxLength() - maximale Eingabelänge begrenzen

QComboBox - Dropdown-Listen erstellen

QComboBox ermöglicht dem Benutzer die Auswahl einer Option aus einer Liste.

from PyQt5.QtWidgets import QComboBox

combo = QComboBox()
combo.addItems(["Option wählen", "Python", "C++", "JavaScript"])

def on_selection_change(value):
    print(f"Du hast gewählt: {value}")

combo.currentTextChanged.connect(on_selection_change)

layout.addWidget(combo)

QComboBox bietet mehrere nützliche Methoden:

  • addItem() - ein einzelnes Element hinzufügen
  • addItems() - eine Liste von Elementen hinzufügen
  • currentText() - den ausgewählten Text abrufen
  • currentIndex() - den Index des ausgewählten Elements abrufen
  • clear() - alle Elemente löschen

QCheckBox - Kontrollkästchen und Signale verwenden

QCheckBox ermöglicht dem Benutzer, eine Option auszuwählen oder die Auswahl aufzuheben.

from PyQt5.QtWidgets import QCheckBox

checkbox = QCheckBox("Ich stimme den Bedingungen zu")

def on_checkbox_state(state):
    if state:
        print("Kontrollkästchen ist aktiviert")
    else:
        print("Kontrollkästchen ist deaktiviert")

checkb                

Blogs

Buchempfehlungen