我有一个菜单项,如果满足某些条件,我想禁用它。 换句话说,防止它被点击。仍然可见,但通常是灰色或类似的。
菜单是手动建立的,类似于:
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));
}
让我们假设,选择了登录。我想要做的是执行登录操作,将菜单项标签更改为登录人员的用户名,然后禁用它以使其无法单击。我该怎么做?
答案 0 :(得分:1)
他们选择使用“敏感”这个词。描述这种行为:
{{1}}