Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1064199
  • 博文数量: 284
  • 博客积分: 8223
  • 博客等级: 中将
  • 技术积分: 3188
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-01 13:26
文章分类

全部博文(284)

文章存档

2012年(18)

2011年(33)

2010年(83)

2009年(147)

2008年(3)

分类: C/C++

2010-04-15 20:44:30

编译:

cc ss.c -o ss `pkg-config --cflags --libs gtk+-2.0`


源码:

#include <stdlib.h>
#include <gtk/gtk.h>

int main( int argc,
          char *argv[] )
{
    GtkWidget *window;
    GtkWidget *event_box;
    GtkWidget *label;
    
    gtk_init (&argc, &argv);
    
    window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
    
    gtk_window_set_title (GTK_WINDOW (window), "Event Box");
    
    g_signal_connect (G_OBJECT (window), "destroy",
     G_CALLBACK (exit), NULL);
    
    gtk_container_set_border_width (GTK_CONTAINER (window), 10);
    
    /* 创建一个事件盒,然后将它加到顶级窗口上 */
    
    event_box = gtk_event_box_new ();
    gtk_container_add (GTK_CONTAINER (window), event_box);
    gtk_widget_show (event_box);
    
    /* 创建一个长标签 */
    
    label = gtk_label_new ("Click here to quit, quit, quit, quit, quit");
    gtk_container_add (GTK_CONTAINER (event_box), label);
    gtk_widget_show (label);
    
    /* 将标签剪裁短。 */
    gtk_widget_set_size_request (label, 110, 20);
    
    /* 为它绑定一个动作 */
    gtk_widget_set_events (event_box, GDK_BUTTON_PRESS_MASK);
    g_signal_connect (G_OBJECT (event_box), "button_press_event",
     G_CALLBACK (exit), NULL);
    
    /* 又是一个要有 X 窗口的东西... */
       //译者注: 要设置鼠标式样也要有 X 窗口。gtk_widget_realize使构件在没有show之前就形成 X 窗口。

    
    gtk_widget_realize (event_box);
    gdk_window_set_cursor (event_box->window, gdk_cursor_new (GDK_HAND1));
    
    gtk_widget_show (window);
    
    gtk_main ();
    
    return 0;
}


阅读(1001) | 评论(0) | 转发(0) |
0

上一篇:进度条

下一篇:输入框

给主人留下些什么吧!~~