?? use_libglade.c
字號:
#include <stdio.h>
#include <gtk/gtk.h>
#include <glade/glade.h>
#include <glib.h>
#include <libintl.h>//gettext support
#define GLADE_FILE "test.glade"
#define PACKAGE "test.glade"
#define LOCALEDIR "./po"
#define _(string) gettext(string)
#define N_(string) string
void button_clicked(GtkWidget *b)//這個callback函數在.glade聲明,此處沒有調用處
{
printf("%s\n",gtk_widget_get_name(b));
//gtk_widget_set_sensitive(b,FALSE);
}
int main(int argc,char *argv[])
{
gtk_set_locale();
bindtextdomain(PACKAGE,LOCALEDIR);
bind_textdomain_codeset(PACKAGE,"utf-8");
GtkWidget *window;
GladeXML *xml;
gtk_init(&argc,&argv);
xml = glade_xml_new(GLADE_FILE,NULL,NULL);
glade_xml_signal_autoconnect(xml);
char *title="test abcedfg";
GtkWidget *w = glade_xml_get_widget(xml,"window1");
gtk_window_set_title(GTK_WINDOW(w),title);
g_signal_connect(w,"delete_event",G_CALLBACK(gtk_main_quit),NULL);
free(title);
gtk_container_remove(GTK_CONTAINER(w),glade_xml_get_widget(xml,"button1"));
GtkWidget *box = gtk_vbox_new(FALSE,0);
gtk_widget_show(box);
gtk_container_add(GTK_CONTAINER(w),box);
GtkWidget *button1 = gtk_button_new_from_stock("gtk-quit");
gtk_widget_show(button1);
gtk_box_pack_start(GTK_BOX(box),button1,0,FALSE,FALSE);
button1 = gtk_button_new_from_stock("gtk-ok");
gtk_widget_show(button1);
gtk_box_pack_start(GTK_BOX(box),button1,100,FALSE,FALSE);
xml = glade_xml_new("create_win.glade","vbox_win_create",NULL);//加載另外一個.glade文件,但不被顯示出來 ,并取用其中的一個widget-vbox_win_create
glade_xml_signal_autoconnect(xml);
GtkWidget *vb = glade_xml_get_widget(xml,"vbox_win_create");
gtk_box_pack_start(GTK_BOX(box),vb,0,FALSE,FALSE);
xml = glade_xml_new("create_win.glade","frame_type",NULL);
glade_xml_signal_autoconnect(xml);
GtkWidget *frame = glade_xml_get_widget(xml,"frame_type");
gtk_box_pack_start(GTK_BOX(box),frame,0,FALSE,FALSE);
gtk_main();
return 0;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -