i

Eingabe von Daten

Zielsetzung

Die Benutzeroberfläche soll ein Eingabefeld enthalten, in das der Benutzer die Spielzahl eingeben kann. Diese Spielzahl soll dann bei der Ermittlung des Gewinns benutzt werden, wenn die Schaltfläche Gewinn auszahlen angeklickt wird.

Anwendungsfenster

Eingabefelder als GUI-Objekte

Das folgende Testprogramm zeigt, wie man ein Eingabefeld erzeugt und zur Verarbeitung von Benutzereingaben nutzt.

# -*- coding: iso-8859-1 -*-
from wx import *
# Ereignisverarbeitung

def Button_Verdoppeln_Click(event):
    # Verwaltung der Daten
    zahl = int(tcZahl.GetLabel())
    # Verarbeitung der Daten
    zahl = zahl * 2
    # Anzeige der Daten
    tcZahl.SetLabel(str(zahl))
    
# Erzeugung des Fensters
app = App()
frame = Frame(parent=None)
frame.SetTitle("Test")
frame.SetSize((128, 145))
frame.SetBackgroundColour("white")
frame.Show()
# Eingabefeld für die Zahl
tcZahl = TextCtrl(parent=frame)
tcZahl.SetSize((36, -1))
tcZahl.SetPosition((45, 40))
# Button zum Auswerten
bGewinn = Button(parent=frame)
bGewinn.SetLabel("Eingabe verdoppeln")
bGewinn.SetPosition((10, 80))
bGewinn.SetSize((100, 20))
bGewinn.Bind(EVT_BUTTON, Button_Verdoppeln_Click)
# Aktivierung des Fensters
app.MainLoop()

Wenn der Benutzer eine Zahl vom Typ int in das Eingabefeld eingibt und die Schaltfläche anklickt, dann wird diese Zahl verdoppelt und im Eingabefeld wieder ausgegeben.

Test

Eingabefelder werden mit Hilfe von TextCtrl-Objekten realisiert.

Bei einem TextCtrl-Objekt erhält man mit der Operation GetLabel Zugriff auf den eingegebenen Text. Mit Hilfe der Operationen SetLabel kann man neuen Inhalt einfügen.

Aufgabe 1

Ergänze das chuck-a-luck-Programm so, dass der Benutzer eine Spielzahl eingeben kann. Diese Spielzahl soll dann bei der Ermittlung des Gewinns benutzt werden, wenn die Schaltfläche Gewinn auszahlen angeklickt wird.

Anwendungsfenster

Suche

v
9.1.5.4
www.inf-schule.de/software/gui/entwicklung_wxpython/eingabedaten
www.inf-schule.de/9.1.5.4
www.inf-schule.de/@/page/LqZkRpHAAtvKZmm3

Rückmeldung geben