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,搞定。
  • 相关阅读:
    ./是当前目录 ../是当前的上一级目录。上上级就是../../一般绝对路径时候常用
    java web 代码
    java特点
    KVC
    架构设计:前后端分离之Web前端架构设计
    从MVC到前后端分离
    you don't have permission 错误
    为什么Tomcat的webapps目录下新建的目录不能访问html文件?
    UTF-8编码规则(转)
    Delphi 有关的网址
  • 原文地址:https://www.cnblogs.com/super119/p/2005637.html
Copyright © 2011-2022 走看看