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,搞定。
  • 相关阅读:
    iOS NSUserDefaults 存储可变数组问题
    iOS之[文件下载 / 大文件下载 / 断点下载]
    macOS 新手开发:第 2 部分
    iOS 游戏素材
    iOS 动画
    macOS 开发
    iOS 之访问权限以及跳转到系统界面
    蓝桥杯—ALGO-18 单词接龙(DFS)
    蓝桥杯—ALGO-12 幂方分解(递归递推)
    蓝桥杯—ALGO-131 Beaver's Calculator
  • 原文地址:https://www.cnblogs.com/super119/p/2005637.html
Copyright © 2011-2022 走看看