GTK与GLADE的使用与配置[0630]

今天又使了使GLADE,发现虽没有QtDesigner那般疯狂,但也不错了.

写一点东西,算是复习以及备份.

glade自3.6以后的版本就支持gtkbuilder格式的布局了[不过目前好像win32版只有3.4.x的,所以还是只能用libglade]

下面先把两种形式的的代码分别罗列一下[至于如何安装和配置,我会在后面略作描述]\

gtkbuilder形式的

#include <gtk/gtk.h>
//假设布局文件定义了一个名为button1的按钮,并且其clicked信号处理函数如下
//注意回调要有G_MODULE_EXPORT声明
G_MODULE_EXPORT  
void on_button1_clicked(GtkWidget* widget,gpointer data)
 {
 g_print("Hello World !\r\n");


int main (int argc, char **argv) { 
//GtkBuilder类型,用于布局
 GtkBuilder *gtkBuilder;
 GtkWidget *mainwin;
 gtk_set_locale();
 /* Initialize the widget set */
 gtk_init (&argc, &argv); 
 /* Create the main window */


//通过main.glade建立布局
 gtkBuilder= gtk_builder_new(); 
 gtk_builder_add_from_file(gtkBuilder,"main.glade",NULL);

//连接信号,信号名在布局文件中定义,实现在cpp文件中
 gtk_builder_connect_signals (gtkBuilder, NULL);

//通过布局文件,获得构件,此处为一个对话框型的窗体
 mainwin= GTK_WIDGET(gtk_builder_get_object(gtkBuilder,"dialog1"));  
 g_object_unref ( G_OBJECT(gtkBuilder) );
 /* Show the application window */
 gtk_widget_show_all ( mainwin );
 /* Enter the main event loop, and wait for user interaction */
 gtk_main ();
 /* The user lost interest */

 return 0;

}

你可能感兴趣的:(GTK与GLADE的使用与配置[0630])