Karl Heinz Buchegger schrieb:
> Aeron schrieb:
>
>> beim Eingabe sollte verhindert werden, dass eine unzulässige Datentype
>> eingegeben werden.
>
> Die Idee ist zwar naheliegend, funktioniert aber in den meisten Fällen
> nicht vernünftig. Meistens ist es dann so, dass der Benutzer enorme
> Klimmzüge machen muss, damit er sich zwischendurch nicht in einen
> ungültigen Zustand manövriert.
Bei Qt gibt es die Klasse QValidator, die man z.B. einenm LineEdit
mitgeben kann. Der kennt aber genau aus dem von dir genannten Grund
nicht zwei, sondern drei Zustände, nämlich acceptable, invalid und
intermediary. Damit kann man das eigentlich sehr schön abbilden. invalid
kann gar nicht erst eingegeben werden, wie z.B. ein 'R' in ein Feld, wo
nur Hex-Werte erlaubt sind, intermediate wird nicht als Endergebnis
akzeptiert, kann aber eingegeben werden, so wie das '-' aus deinem
Beispiel.
Um dem Benutzer den Status der Eingabe noch deutlicher zu machen, kann
man auch noch den Hintergrund des Eingabefeldes rot einfärben, wenn's
intermediate ist.