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

转自:

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-19 16:50:38

GTK常用控件之按钮( GtkButton )的相关文章

(转载)VS2010/MFC编程入门之二十二(常用控件:按钮控件Button、Radio Button和Check Box)

因为私人问题,鸡啄米暂停更新了几天,首先向关注鸡啄米动态的朋友说一声抱歉. 言归正传,鸡啄米上一节中讲了编辑框的用法,本节继续讲解常用控件--按钮控件的使用. 按钮控件简介 按钮控件包括命令按钮(Button).单选按钮(Radio Button)和复选框(Check Box)等.命令按钮就是我们前面多次提到的狭义的按钮控件,用来响应用户的鼠标单击操作,进行相应的处理,它可以显示文本也可以嵌入位图.单选按钮使用时,一般是多个组成一组,组中每个单选按钮的选中状态具有互斥关系,即同组的单选按钮只能有

VS2010-MFC(常用控件:按钮控件Button、Radio Button和Check Box)

转自:http://www.jizhuomi.com/software/182.html 按钮控件简介 按钮控件包括命令按钮(Button).单选按钮(Radio Button)和复选框(Check Box)等.命令按钮就是我们前面多次提到的狭义的按钮控件,用来响应用户的鼠标单击操作,进行相应的处理,它可以显示文本也可以嵌入位图.单选按钮使用时,一般是多个组成一组,组中每个单选按钮的选中状态具有互斥关系,即同组的单选按钮只能有一个被选中. 命令按钮是我们最熟悉也是最常用的一种按钮控件,而单选按钮

GTK常用控件之笔记本控件( GtkNotebook )

笔记本控件,可以让用户标签式地切换多个界面.当我们需要多窗口切换时,使用笔记本控件是一个明智的选择. 笔记本控件的创建: GtkWidget *gtk_notebook_new(void); 返回值:笔记本控件指针 设置页标签的位置: void gtk_notebook_set_tab_pos( GtkNotebook *notebook, GtkPositionType pos ); notebook:笔记本控件 pos取值如下: GTK_POS_LEFT:   左 GTK_POS_RIGHT

GTK常用控件之行编辑( GtkEntry )

行编辑,只允许输入一行内容的控件,如密码输入框. 行编辑的创建: GtkWidget *gtk_entry_new(void); 返回值:行编辑指针 设置行编辑内容的最大长度: void gtk_entry_set_max_length(GtkEntry *entry, gint max); entry:行编辑 max:长度的最大值,这里填0代表长度不作限制 设置行编辑的文本内容: void gtk_entry_set_text(GtkEntry *entry, const gchar *tex

GTK常用控件之图片控件( GtkImage )

图片控件和标签的作用很类似,都是作为显示用的,只是图片控件显示的内容是图片. 图片控件的创建: GtkWidget *gtk_image_new_from_file( const gchar *filename ); filename:图片的名字,带路径的话需要加上路径( 相对或绝对 ) 返回值:图片控件指针 通过上面方法创建的图片控件,以图片默认大小来显示,不能修改其大小.如果要改变图片的大小,我们要借助图片资源对象GdkPixbuf,需要注意的是,GdkPixbuf不属于控件类,它以 Gdk

GTK常用控件之窗口( GtkWindow )

窗口的创建: GtkWidget *gtk_window_new(GtkWindowType type); GtkWindowType是一个枚举,有两种情况: GTK_WINDOW_TOPLEVEL:顶层窗口,有边框 GTK_WINDOW_POPUP:   弹式窗口,没边框 返回值:窗口指针 标题的设置: void gtk_window_set_title( GtkWindow *window, const gchar *title); window:窗口 title:标题 控件最小大小的设置:

(转载)VS2010/MFC编程入门之二十三(常用控件:按钮控件的编程实例)

上一节VS2010/MFC编程入门教程中鸡啄米讲了按钮控件Button.Radio Button和Check Box的基本用法,本节就继续讲按钮控件的内容,通过一个实例让大家更清楚按钮控件在实际的软件开发中如何使用. 因为Button控件在前面的例子中涉及到了,比较简单,本文就不作深入分析了,而是重点讲解单选按钮Radio Button.复选框Check Box的使用. 按钮控件实例的功能 首先介绍此实例实现的功能.此实例用来根据网站类型选择网站,并将选择的网站的名称显示到编辑框中.网站类型有"

GTK常用控件之进度条( GtkProgressBar )

我们到处都能看到进度条的应用,我们下载拷贝个文件,下载个电影等总能看到进度条的影子,如图: 进度条的常用操作无非设置其比例或者获取其比例. 进度条的创建: GtkWidget *gtk_progress_bar_new(void); 返回值:进度条指针 设置进度条显示的进度比例: void gtk_progress_bar_set_fraction( GtkProgressBar *pbar, gdouble fraction); pbar:需要操作的进度条 fraction:0.0到1.0 获

B/S一些小知识及常用控件

一: B/S网页的运行 页面在设计的时候,本身就是一个类.在运行的时间,是一个对象. 其中aspx和aspx.cs是在同一个类下. aspx是主要是负责界面,而aspx.cs主要是负责数据逻辑. 呈现:把页面上所有的控件对象,转化成HTML标签.  内存中的对象--->HTML ** 规范 **: 以后写代码的时候,在Page_Load方法中,99%的代码需要写在 if (!IsPostBack) { } IsPostBack——页面初始加载-false;表单提交加载-true 页面初始加载的情