[gelöst] - Wie Focus auf ein Feld setzen?

Programmierung für GNOME und GTK+, GUI-Erstellung mit Glade.
Antworten
wscharinger
User
Beiträge: 12
Registriert: Freitag 26. Mai 2006, 11:18

Hallo,

ist wahrscheinlich ganz einfach, aber irgendwie krieg' ich's nicht gebacken.
Ich versuche bei einem neuen Fenster den Eingabe-Focus auf ein Entry-Feld zu legen.

Der Versuch mit "entry.grab_focus()" wird ohne Fehler akzeptiert, aber das Feld "entry" ist trotzdem nicht aktiv (sprich der Cursor für die nächste User-Eingabe per Keyboard steht nicht im Feld).

Auch der Versuch mit "window.set_focus(entry)" hat keinen Erfolg gebracht.

Was mache ich falsch - oder liege ich mit "focus" ganz falsch?

Dank und Gruß
Werner
Zuletzt geändert von wscharinger am Dienstag 14. November 2006, 18:13, insgesamt 2-mal geändert.
wscharinger
User
Beiträge: 12
Registriert: Freitag 26. Mai 2006, 11:18

Hallo,

tja, war tatsächlich relativ einfach - nur gewusst wie!

"widget.grab_focus()" legt den Eingabefocus auf ein Feld (wenn es den Focus haben darf, was per Default in der Regel der Fall ist).

Ruft man aber .grab_focus() auf, bevor das widget in diversen Boxen und schließlich im Window mit "add" oder "pack_start | _end" eingebunden ist, dann klappt das eben nicht. Also zuerst alles "packen" und dann den Focus mit .grab_focus() zuweisen, dann klappt's auch.

Viel Spaß noch beim Hacken!
Antworten