⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 use_libglade.c

📁 GTK+的libglade编程, 简化了对GTK构件的纯代码编写, 适合刚刚学GTK/glade的人
💻 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 + -