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,搞定。
  • 相关阅读:
    【Vue】状态管理
    【Vue】路由
    【Vue】组件
    【Vue】基础(数据 & 计算属性 & 方法)
    【Vue】基础(虚拟DOM & 响应式原理)
    【Vue】基础(生命周期 & 常用指令)
    【Vue】搭建开发环境
    【Mongodb】事务
    【Mongodb】视图 && 索引
    【Mongodb】聚合查询 && 固定集合
  • 原文地址:https://www.cnblogs.com/super119/p/2005637.html
Copyright © 2011-2022 走看看