第一个GTK+程序
第一个demo程序写出来了,觉得GTK+甚至更多的GUI编程语言,其原理都差不多,因为有Java基础学习门槛相对低一些。不会在GTK+的函数命名上很奇怪,为什么要那么多的_,完全可以按照常见的命名来啊。而且在函数命名的过程中,一定要注意加入个人的特别标示吧,因为很多的时候,起名是规范的但却占用了系统库的函数,如此不能得到想要的结果。
#include <gtk/gtk.h> #include <stdio.h> void button_print(GtkWidget *button,gpointer data){ printf("button is clicked,%s\n",(char *)data); } void window_quit(GtkWidget *window,gpointer data){ printf("window is destroy,%s\n",(char *)data); gtk_main_quit(); } int main(int argc,char *argv[]){ //build object GtkWidget *window = NULL; GtkWidget *button = NULL; //init gtk_init(&argc,&argv); window = gtk_window_new(GTK_WINDOW_TOPLEVEL); button = gtk_button_new_with_label("button"); //set profile gtk_window_set_default_size(GTK_WINDOW(window),300,200); gtk_window_set_position(GTK_WINDOW(window),GTK_WIN_POS_CENTER); //add gtk_container_add(GTK_CONTAINER(window),button); //signal g_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(button_print),\ "button clicked is running"); g_signal_connect(GTK_OBJECT(window),"destroy",GTK_SIGNAL_FUNC(window_quit),\ "windows quit is running"); gtk_widget_show_all(window); gtk_main(); return 0; }