8.28
已有 596 次阅读2008-8-28 00:30
真是的。。。。。
因为用QT还是用GTK的问题昨天和prince_wzz吵了半天。。。。。
最后终于妥协。。。。。。。
唉,咱还真是心太软。。。。。。。。。
谁知道在WINDOWS下搞一个GTK那么费劲。。。。。
上网搜了半天。。。
中文的全是废话,不得不找英文的。。。。。。
一找英文就得看一大堆废话。。。。。
在WINDOWS下搞一个GTK花了3个小时。。。。。。
我的时间啊。。。。。。
不过最后弄出来了的时候发现竟如此简单。。。。。。
晕死。。。
BSMS。。。。。。。。
尝试了一下GTK。。。。。
感觉和QT语法差不多。。。。。
总的来说还行。。。。。
毕竟在LINUX下很好用。。。。。
支持。。。。。。
附:
HELLO_WORLD。。。。(编过程的都知道这是最经典的程序。。。。。
可是高级语言与解释语言都只要不到5行代码。。。。。
为什么一个外挂库就这么狂要2KB的代码(2KB的英文字啊。。。。。。
什么概念。。。。。
不管,发上去。。。。
继续研究:
#include <gtk/gtk.h>
void MK2( GtkWidget *widget, gpointer data){
while(1)
g_print("Hello World\n");
}
gint delete_event(GtkWidget *widget,
GdkEvent *event,
gpointer data){
g_print("delete event occurred\n");
return TRUE;
}
void destroy(GtkWidget *widget,
gpointer data){
gtk_main_quit();
}
int main(int argc,
char *argv[]){
GtkWidget *button;
GtkWidget *window;
gtk_init (&argc,&argv);
window= gtk_window_new (GTK_WINDOW_TOPLEVEL);
g_signal_connect(G_OBJECT(window),"delete_event",
G_CALLBACK(delete_event),NULL);
g_signal_connect(G_OBJECT(window),"destroy",
G_CALLBACK(destroy),NULL);
gtk_container_set_border_width (GTK_CONTAINER(window),20);
button=gtk_button_new_with_label("Hello World");
g_signal_connect(G_OBJECT(button),"clicked",
G_CALLBACK(MK2),NULL);
g_signal_connect_swapped(G_OBJECT(button),"clicked",
G_CALLBACK(gtk_widget_destroy),
window);
gtk_container_add(GTK_CONTAINER(window),button);
gtk_widget_show(button);
gtk_widget_show(window);
gtk_main();
return 0;
}