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,搞定。
  • 相关阅读:
    C指针详解(经典,非常详细)
    PL/SQL错误提示 database character set(AL32UTF8) and Client character set(ZHS16GBK) are different
    安装Oracle报错,全部为未知!
    Oracle 支持在具有 DHCP 分配的 IP 地址的系统上进行安装
    Asp.Net页面生命周期
    oracle 导库建立测试库
    宝塔安装建站教程
    SEM理论
    SEM小总结
    SEM大致操作梳理
  • 原文地址:https://www.cnblogs.com/super119/p/2005637.html
Copyright © 2011-2022 走看看