|
楼主 |
发表于 2004-10-5 10:45:51
|
显示全部楼层
#include <gnome.h>
/*定义两个回叫函数:hellomassage和closeprog.Hellomessage输出一个简单的文本”Hello World".closeprog 调用gtk_main_quit 函数结束程序。 */
void hellomessage(GtkWidget *widget,GdkEvent *event, gpointer data)
{ printf("Hello World!\n");
}
gint closeprog(GtkWidget *widget, GdkEvent *event, gpointer data)
{ gtk_main_quit();
}
/*在主函数中,定义两个GtkWidget指针:app和button. app是指向主应用窗口的指针,而button是指向一个简单按钮对象的指针。 */
int main (int argc, char **argv)
{
GtkWidget *app;
GtkWidget *button;
/*创建gnome_init函数初始化GNOME界面*/
gnome_init (" ", "0.1",argc, argv);
/*利用gtk_button_new_with_label 函数创建按钮对象,并将它的地址赋给指针button,如下所示,按钮显示时带有标签“ Click Me”*/
button = gtk_button_new_with_label("Click me!");
/*利用gnome_app_new函数创建应用程序窗口构件,并将它的地址赋给app*/
app = gnome_app_new ("Hello World", "Hello App");
/*利用gnome_app_set_contents将按钮放入应用程序窗口。*/
gnome_app_set_contents (GNOME_APP (app), button);
/*利用gtk_signal_connect将应用程序和delete_event信号关联,当用户点击关闭方框时会发出该信号。设置它运行closeprog函数,而closeprog函数将会调 用gtk_main_quit 结束程序运行*/
gtk_signal_connect(GTK_OBJECT (app), "delete_event",
GTK_SIGNAL_FUNC(closeprog),NULL);
/*利用gtk_signal_connect将按钮和鼠标点击(clicked)事件关联,设置它运行hello函数。只要用户一点击按钮,标准输出就会显示"Hello World"*/
gtk_signal_connect (GTK_OBJECT (button), "Clicked",
GTK_SIGNAL_FUNC(hellomessage),NULL);
/*利用gtk_widget_shou_all函数显示应用程序窗口及其包含的按钮*/
gtk_widget_show_all(app);
/*利用gtk_main开始交互界面*/
gtk_main();
return 0;}
还是有点小问题:
[root@ruizhi root]# gcc -o hello hello.c `gnome-config --cflags --libs gnome gnomeui`
[root@ruizhi root]# ./hello
Gtk-WARNING **: gtk_signal_connect(): could not find signal "Clicked" in the `GtkButton' class ancestry
麻烦怎么改? |
|