天天看點

GTK常用控件之按鈕( GtkButton )

按鈕在GUI裡應用最為廣泛,我們幾乎能在所有的界面中看到按鈕。

GTK常用控件之按鈕( GtkButton )

空按鈕的建立(按鈕上沒有任何内容):

GtkWidget *gtk_button_new(void);

傳回值:按鈕指針

建立帶文本内容的按鈕:

GtkWidget *gtk_button_new_with_label (const gchar *label);

label:文本内容

傳回值:按鈕指針

設定按鈕的文本内容:

void gtk_button_set_label(GtkButton *button, 

const gchar *label);

button:操作的按鈕

label:要設定的文本内容

擷取按鈕的文本内容:

const gchar *gtk_button_get_label(GtkButton *button);

button:操作的按鈕

傳回值:擷取到的文本内容

控件使能設定:

void gtk_widget_set_sensitive(

GtkWidget *widget, gboolean sensitive);

widget:要操作的控件

sensitive:FALSE變灰,不允許相應響應;TRUE,正常響應

給按鈕設定一張圖檔:

void gtk_button_set_image(GtkButton *button,

GtkWidget *image);

button:按鈕

image:圖檔控件

擷取按鈕上的圖檔:

GtkWidget *gtk_button_get_image(GtkButton *button);

button:按鈕

傳回值:圖檔控件

設定按鈕透明背景色:

void gtk_button_set_relief(GtkButton *button, 

GtkReliefStyle newstyle);

button:按鈕

newstyle: 枚舉變量,GTK_RELIEF_NONE為透明

例子代碼如下:

#include <gtk/gtk.h>

int main(int argc,char *argv[])
{
        //1.gtk環境初始化
        gtk_init(&argc, &argv);

        //2.建立一個視窗
        GtkWidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL);

        //3.建立一個水準容器
        GtkWidget *hbox = gtk_hbox_new(TRUE,10);
        gtk_container_add(GTK_CONTAINER(window), hbox);

        //4.建立一個button1
        GtkWidget *button1 = gtk_button_new_with_label("button1");
        gtk_container_add(GTK_CONTAINER(hbox), button1);

        //5.擷取button1的内容
        const char *str = gtk_button_get_label(GTK_BUTTON(button1));
        printf("str=%s\n", str);

        //6.給button1設定新内容
        gtk_button_set_label(GTK_BUTTON(button1), "change");

        //7.建立一個button2
        GtkWidget *button2 = gtk_button_new();
        gtk_container_add(GTK_CONTAINER(hbox), button2);

        //8.給button2設定一張圖檔
        //8.1擷取一個圖檔控件
        GtkWidget *image = gtk_image_new_from_file("./img/1.jpg");
        //8.2給button2添加圖檔
        gtk_button_set_image(GTK_BUTTON(button2), image);
        //8.3将背景設為透明
        gtk_button_set_relief(GTK_BUTTON(button2), GTK_RELIEF_NONE);

        //9.顯示所有視窗
        gtk_widget_show_all(window);

        //10.主事件循環
        gtk_main();

        return 0;
}
           

運作結果:

GTK常用控件之按鈕( GtkButton )

源碼下載下傳:http://download.csdn.net/download/lianghe_work/8940977

轉自: