📄 ex23_1.c
字号:
/*filename:ex23_1.c*/
#include <gtk/gtk.h>
int context_id;
GtkWidget *statusbar;
gint delete_handle(GtkWidget *widget,gpointer gdata)
{
g_print("application quitting----\n");
gtk_main_quit();
return FALSE;
}
void OnAddItem (GtkWidget *widget, gpointer data)
{
static int count = 1;
char buff[15];
g_snprintf(buff, 15, "Item %d", count++);
gtk_statusbar_push(GTK_STATUSBAR(statusbar),
GPOINTER_TO_INT(data),buff);
return;
}
void OnDeleteItem(GtkWidget *widget, gpointer data)
{
gtk_statusbar_pop(GTK_STATUSBAR(statusbar),
GPOINTER_TO_INT(data) );
return;
}
int main(int argc,char *argv[])
{
GtkWidget *window;
GtkWidget *button;
GtkWidget *box1,*box2;
gtk_init(&argc,&argv);
window=gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_title(GTK_WINDOW(window),"Test Status Bar");
gtk_signal_connect(GTK_OBJECT(window),"delete_event",
GTK_SIGNAL_FUNC(delete_handle),NULL);
box1 = gtk_vbox_new(FALSE, 0);
gtk_container_add(GTK_CONTAINER(window),box1);
statusbar=gtk_statusbar_new();
context_id=gtk_statusbar_get_context_id(GTK_STATUSBAR(statusbar),
"StatusBar Examples");
box2=gtk_hbox_new(FALSE,0);
gtk_box_pack_start(GTK_BOX(box1),box2,TRUE,TRUE,0);
button=gtk_button_new_with_label("AddItem");
gtk_box_pack_start(GTK_BOX(box2),button,TRUE,TRUE,0);
gtk_widget_show(button);
gtk_signal_connect(GTK_OBJECT(button),"clicked",
GTK_SIGNAL_FUNC(OnAddItem),
GINT_TO_POINTER(context_id));
button=gtk_button_new_with_label("DeleteItem");
gtk_box_pack_start(GTK_BOX(box2),button,TRUE,TRUE,0);
gtk_widget_show(button);
gtk_signal_connect(GTK_OBJECT(button),"clicked",
GTK_SIGNAL_FUNC(OnDeleteItem),
GINT_TO_POINTER(context_id));
gtk_widget_show(box2);
gtk_box_pack_start(GTK_BOX(box1), statusbar, TRUE, TRUE, 0);
gtk_widget_show(statusbar);
gtk_widget_show(box1);
gtk_widget_show(window);
gtk_main();
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -