📄 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 + -