如何禁用GtkMenuItem?

时间:2015-11-12 19:49:29

标签: linux gtk

我有一个菜单项,如果满足某些条件,我想禁用它。 换句话说,防止它被点击。仍然可见,但通常是灰色或类似的。

菜单是手动建立的,类似于:

void menu_action(GtkMenuItem* menuitem, gpointer menu_id){
  printf("You selected menu id: %d\n", GPOINTER_TO_INT(menu_id));
}

void make_menu(){
  GtkWidget *menu  = gtk_menu_new();
  GtkWidget *login = gtk_menu_item_new_with_label("Login");
  GtkWidget *quit  = gtk_menu_item_new_with_label("Quit");

  gtk_menu_shell_append(GTK_MENU_SHELL(menu), login);
  gtk_menu_shell_append(GTK_MENU_SHELL(menu), quit);

  g_signal_connect(G_OBJECT(login), "activate", G_CALLBACK(menu_action), GINT_TO_POINTER(-100));
  g_signal_connect(G_OBJECT(quit), "activate", G_CALLBACK(menu_action), GINT_TO_POINTER(-101));
}

让我们假设,选择了登录。我想要做的是执行登录操作,将菜单项标签更改为登录人员的用户名,然后禁用它以使其无法单击。我该怎么做?

1 个答案:

答案 0 :(得分:1)

他们选择使用“敏感”这个词。描述这种行为:

{{1}}