GTK如何创建一个带图像的按钮?

GtkButton继承自GtkBin,所以,要想做image button,特简单。如果是只需要放上一个image的button,如下:

GtkWidget *hbox, *playbtn, *pausebtn, *stopbtn, *placeholder, *dlabel;
GtkWidget *playimg, *pauseimg, *stopimg;
hbox = gtk_hbox_new(FALSE, 5);
playbtn = gtk_button_new();
pausebtn = gtk_button_new();
stopbtn = gtk_button_new();

playimg = gtk_image_new();
gtk_image_set_from_stock(GTK_IMAGE(playimg), GTK_STOCK_MEDIA_PLAY, GTK_ICON_SIZE_LARGE_TOOLBAR);
gtk_container_add(GTK_CONTAINER(playbtn), playimg);

pauseimg = gtk_image_new();
gtk_image_set_from_stock(GTK_IMAGE(pauseimg), GTK_STOCK_MEDIA_PAUSE, GTK_ICON_SIZE_LARGE_TOOLBAR);
gtk_container_add(GTK_CONTAINER(pausebtn), pauseimg);

stopimg = gtk_image_new();
gtk_image_set_from_stock(GTK_IMAGE(stopimg), GTK_STOCK_MEDIA_STOP, GTK_ICON_SIZE_LARGE_TOOLBAR);
gtk_container_add(GTK_CONTAINER(stopbtn), stopimg);

placeholder = gtk_label_new("");
dlabel = gtk_label_new("Hi, guys! My name is Transformer~");

gtk_box_pack_start(GTK_BOX(hbox), playbtn, FALSE, FALSE, 5);
gtk_box_pack_start(GTK_BOX(hbox), pausebtn, FALSE, FALSE, 5);
gtk_box_pack_start(GTK_BOX(hbox), stopbtn, FALSE, FALSE, 5);
gtk_box_pack_start(GTK_BOX(hbox), placeholder, TRUE, TRUE, 5);
gtk_box_pack_start(GTK_BOX(hbox), dlabel, FALSE, FALSE, 5);

这段代码,image来自STOCK,是播放、暂停和停止三个icon。

如果要做一个image,一个label的image button,那要在新建一个hbox,然后把image和label放入,最后将hbox放入button,搞定。
posted @ 2011-04-05 10:24  super119  阅读(1169)  评论(0编辑  收藏  举报