📘 Mini-Manual zu NiceGUI (Deutsch)

1. EinfĂŒhrung

NiceGUI ist ein Python-Framework zur schnellen Erstellung von WeboberflÀchen. Es basiert auf Vue.js und Quasar, erfordert aber nur Python-Kenntnisse. Damit lassen sich Dashboards, GUIs und interaktive Apps mit wenigen Zeilen Code erstellen.


2. Installation

pip install nicegui
python main.py

StandardmĂ€ĂŸig ist die OberflĂ€che unter http://localhost:8080 erreichbar.


3. Erste Schritte

Beispiel: „Hello World“

from nicegui import ui

ui.label('Hallo Welt!')

ui.run()

Buttons und Aktionen

from nicegui import ui

def begruessung():
    ui.notify('Willkommen bei NiceGUI!')

ui.button('Klick mich', on_click=begruessung)
ui.run()

4. Wichtige UI-Elemente

  • Labels: ui.label('Text')
  • Buttons: ui.button('Titel', on_click=funktion)
  • Textfelder: ui.input('Name')
  • Checkboxen: ui.checkbox('Option')
  • Slider: ui.slider(min=0, max=100)
  • Diagramme: ui.line_chart(...)
  • Tabellen: ui.table(columns=[...], rows=[...])

5. Layouts

Spalten und Reihen

with ui.row():
    ui.label('Links')
    ui.label('Rechts')

with ui.column():
    ui.button('Oben')
    ui.button('Unten')

Karten

with ui.card():
    ui.label('Eine Karte')
    ui.button('Aktion')

6. Datenbindung

name = ui.input('Dein Name')
ui.label().bind_text_from(name, 'value')

Das Label zeigt immer den aktuellen Eingabewert.


7. Navigation

from nicegui import ui

@ui.page('/seite1')
def seite1():
    ui.label('Dies ist Seite 1')

ui.run()

Die Seite ist erreichbar unter http://localhost:8080/seite1.


8. Benachrichtigungen und Dialoge

ui.notify('Dies ist eine Nachricht')

with ui.dialog() as dialog, ui.card():
    ui.label('Bist du sicher?')
    ui.button('Ja', on_click=dialog.close)

ui.button('Dialog öffnen', on_click=dialog.open)

9. Integration mit Python

NiceGUI lÀuft vollstÀndig in Python, sodass sich Daten aus Skripten, Datenbanken oder Sensoren direkt einbinden lassen.

Beispiel: Counter

counter = 0
label = ui.label(f'ZĂ€hler: {counter}')

def hochzaehlen():
    global counter
    counter += 1
    label.text = f'ZĂ€hler: {counter}'

ui.button('++', on_click=hochzaehlen)
ui.run()

10. Deployment

  • Lokal: StandardmĂ€ĂŸig ĂŒber ui.run()
  • Docker:
FROM python:3.11-slim
RUN pip install nicegui
COPY main.py .
CMD ["python", "main.py"]
  • Server: per uvicorn oder in Cloud-Diensten wie Heroku, Railway, Fly.io.

11. NĂŒtzliche Links


✅ Mit diesem Mini-Manual hast du die wichtigsten Grundlagen auf Deutsch. Du kannst direkt starten und GUIs mit Python entwickeln!


Du musst eingeloggt sein um eine Antwort hinterlassen zu können.