我正在使用 GTK+2 作为 C 语言的 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);
}
}
最佳答案
当您显示窗口时,请在您想要聚焦的小部件上调用 gtk_widget_grab_focus()
。
如果您根本不希望网格中的按钮能够获得焦点,请对它们调用 gtk_widget_set_can_focus()
。
关于c - 如何防止按钮默认获得焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38667687/