zoukankan      html  css  js  c++  java
  • 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,搞定。
  • 相关阅读:
    一探前端开发中的JS调试技巧(转)
    JavaScript模板引擎实例应用(转)
    本周汇总
    完美解决IE8不支持margin auto问题
    移动端H5适配流程
    原型继承
    每周笔记
    一个页面多个bootstrip轮播以及一个页面多个swiper轮播 冲突问题
    如何让整个网页倾斜
    前端知识体系
  • 原文地址:https://www.cnblogs.com/super119/p/2005637.html
Copyright © 2011-2022 走看看