GTK如何创建一个带图像的按钮?
2011-04-05 10:24
871 查看
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,搞定。
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,搞定。
相关文章推荐
- 如何创建一个图像按钮
- 如何创建一个Spark图标按钮和皮肤
- 【转贴】如何利用CSS创建一个漂亮的按钮
- 如何创建一个CSS3 Ajax加载图标没有图像
- 【学习笔记】cocos2d-x 如何创建一个按钮(文本按钮、图片按钮)
- 如何创建一个渐变背景色的按钮
- UE4学习7 如何创建显示一个UMG按钮
- 如何创建一个CSS3 Ajax加载图标没有图像
- [Android小技巧]如何不用图片创建一个带圆角的按钮
- 如何为你的UWP应用创建一个纯粹的图标按钮
- 如何创建一个CSS3 Ajax加载图标没有图像
- 如何一个创建三态下压按钮
- 如何使用CSS3创建一个漂亮的图标
- ios开源框架——如何在iOS SDK中创建一个umbrellaframework(framework库的再封装)
- 如何制作一个圆形的按钮
- 如何做一个按钮二个事件
- Cocos2D iOS之旅:如何写一个敲地鼠游戏(十):创建游戏逻辑
- 如何实现js展开收起(折叠)效果呢?例如:一段内容过长了,我限制他显示为20个字内,但是超出了20的就先用省略号代替,然后后面添加一个展开,点击展开后就显示所有的内容,这时候展开按钮就变成了 折叠按钮
- 一个页面有一个文本框,一个按钮,如何判断bug是前端还是后台的?
- [翻译]如何用汇编创建一个基础内核 (八)