53 lines
1.8 KiB
Python
53 lines
1.8 KiB
Python
# -*- coding: utf-8 -*-
|
|
from velamentum.ui.dialoge.EingabeDialog import EingabeDialog
|
|
from velamentum.desktop import *
|
|
|
|
class PasswortDialog(EingabeDialog):
|
|
"""Die Klasse EingabeDialog (erbt Attribute und Methoden von der Klasse
|
|
EingabeDialog) stellt einen einfachen Dialog zur Eingabe von Passwörtern zur
|
|
Verfügung. Im Unterschied zum Eingabedialog wird die Zeichenkette während
|
|
der Eingabe nicht angezeigt.
|
|
|
|
Attribute:
|
|
titel (Zeichenkette): Der Titel des Dialogs.
|
|
nachricht (Zeichenkette): Die Nachricht des Dialogs.
|
|
ergebnis (Zeichenkette): Der eingegebene Text.
|
|
"""
|
|
|
|
def __init__(self, pTitel="Titel", pNachricht="Nachricht", pNurZahlen=False):
|
|
"""Konstruktor. Initialisiert den PasswortDialog.
|
|
|
|
Parameter:
|
|
[optional] pTitel (Zeichenkette): Der Titel des Dialogs.
|
|
[optional] pNachricht (Zeichenkette): Die Nachricht des Dialogs.
|
|
[optional] pNurZahlen (Wahrheitswert): Nur Zahlen als Eingabe
|
|
erlauben (Standardwert: False).
|
|
"""
|
|
EingabeDialog.__init__(self, pTitel, pNachricht, pNurZahlen=False)
|
|
|
|
def setzeErgebnis(self,feld):
|
|
self.__ergebnis = feld.get()
|
|
|
|
def zeige(self):
|
|
"""Auftrag. Zeigt den PasswortDialog an und speichert die eingegebene
|
|
Zeichenkette im Attribut 'ergebnis'.
|
|
|
|
Parameter:
|
|
--- keine ---
|
|
"""
|
|
desk = Tk()
|
|
#desk.geometry("400x200")
|
|
|
|
|
|
desk.title(self.titel)
|
|
txtLable = Label(desk, text=self.nachricht)
|
|
eingabefeld = Entry(desk, bd=5, width=40, show='*')
|
|
okBtn = Button(desk, text='Ok', command=lambda:[self.setzeErgebnis(eingabefeld),desk.quit()])
|
|
|
|
txtLable.pack()
|
|
eingabefeld.pack()
|
|
okBtn.pack()
|
|
|
|
desk.mainloop()
|
|
desk.destroy()
|