按钮在GUI里应用最为广泛,我们几乎能在所有的界面中看到按钮。
空按钮的创建(按钮上没有任何内容):
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; }
运行结果:
源码下载:http://download.csdn.net/download/lianghe_work/8940977
版权声明:本文为博主原创文章,未经博主允许不得转载。