gtk_widget_grab_focus()自动跳转到下一个字段?

时间:2012-05-29 16:13:35

标签: gtk gtkentry

我正在使用glade和gtk创建一个'C'项目。我想关注命名txt_abc的gtkentry字段,所以我调用了函数:

gtk_widget_grab_focus (txt_abc);

在txt_abc小部件命名txt_def之后还有另一个gtkentry小部件。

我的问题是,当我运行应用程序时,光标不是专注于txt_abc小部件,而是自动将焦点集中在txt_def小部件上。

还有一件事,当我通过调用代码来设置焦点在txt_def小部件时:

gtk_widget_grab_focus (txt_def);

控件再次集中在窗口上的下一个窗口小部件,即txt_name。

我希望焦点完全放在我设置抓取信号的小部件上。

如何解决此问题。

1 个答案:

答案 0 :(得分:0)

无法重现。写一个小的测试用例来演示你的问题。 Python很容易实验。

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 ()