I am creating a 'C' project with glade and gtk. I want a focus on a gtkentry field naming txt_abc and so I called the function:
gtk_widget_grab_focus (txt_abc);
There is another gtkentry widget just after txt_abc widget naming txt_def.
My problem is instead of getting focus on txt_abc widget, the cursor is automatically being focused on txt_def widget, when I am running the application.
One more thing, when I am setting the focus at txt_def widget by calling the code:
gtk_widget_grab_focus (txt_def);
the control is again being focused on the next widget on the window, i.e. txt_name.
I want the focus exactly on the widget I am setting the grab signal.
How to resolve this problem.
Cannot reproduce. Write a small testcase demonstrating your problem. Python is easy to experiment in.
import gtk
window = gtk.Window ()
box = gtk.VBox ()
window.add (box)
for k in range (5):
box.add (gtk.Entry ())
window.show_all ()
window.connect ('destroy', lambda *ignored: gtk.main_quit ())
box.children () [2].grab_focus () # <--- works fine
gtk.main ()