如何防止按钮默认聚焦

时间:2016-07-29 21:22:30

标签: c gtk2

我在C语言中使用GTK + 2进行GUI。我的代码中有10x10的按钮表。当我运行我的代码时,默认情况下会聚焦第一个按钮(button[0][0])。那么如何才能阻止此按钮被默认聚焦?

代码:

table = gtk_table_new(10, 10, TRUE);

for (int row=0; row<10; row++) {
    for (int col=0; col<10; col++) {
        button[row][col] = gtk_button_new_with_label(" ");
        g_signal_connect(G_OBJECT(button[row][col]), "button-release-event", G_CALLBACK(buttonClicked), NULL);
        gtk_button_set_focus_on_click(GTK_BUTTON(button[row][col]), FALSE);
        gtk_table_attach_defaults(GTK_TABLE(table), button[row][col], col, col+1, row, row+1);
    }
}

1 个答案:

答案 0 :(得分:0)

当您显示窗口时,请在您想要关注的窗口小部件上调用gtk_widget_grab_focus()

如果您不希望网格中的按钮完全关注,请在其上调用gtk_widget_set_can_focus()