GTK常用控件之按钮( GtkButton )

按钮在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

转自:

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
GtkButtonGTK+图形用户界面工具包中的一个控件,它是一个带有标签的按钮,用户可以单击它来触发相应的操作。GtkButton可以用于创建各种类型的按钮,例如命令按钮、选项按钮、切换按钮等。 GtkButton常用属性包括: - label:按钮上显示的文本。 - image:按钮上显示的图像。 - relief:按钮的边框样式。 - default:指定按钮是否为默认按钮。 - sensitive:指定按钮是否可用。 - visible:指定按钮是否可见。 GtkButton还可以设置回调函数,当用户单击按钮时,回调函数会被调用,这样可以执行相应的操作。例如,可以将一个GtkButton连接到一个GtkEntry控件,当用户单击按钮时,将GtkEntry中的文本清空。 下面是一个简单的示例程序,演示了如何创建一个GtkButton控件: ```c #include <gtk/gtk.h> void button_clicked(GtkWidget *widget, gpointer data) { g_print("Hello, World!\n"); } int main(int argc, char *argv[]) { GtkWidget *window; GtkWidget *button; gtk_init(&argc, &argv); window = gtk_window_new(GTK_WINDOW_TOPLEVEL); g_signal_connect(window, "destroy", G_CALLBACK(gtk_main_quit), NULL); button = gtk_button_new_with_label("Click me!"); g_signal_connect(button, "clicked", G_CALLBACK(button_clicked), NULL); gtk_container_add(GTK_CONTAINER(window), button); gtk_widget_show_all(window); gtk_main(); return 0; } ``` 该程序创建了一个包含一个GtkButton控件的窗口。当用户单击按钮时,将在控制台上打印"Hello, World!"。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值