GTK+中文社区(gtk.awaysoft.com)

 找回密码
 马上加入

QQ登录

只需一步,快速开始

查看: 4182|回复: 3

glade3教程(三)--单行文本框

[复制链接]
  • TA的每日心情
    奋斗
    2015-10-16 12:17
  • 签到天数: 401 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2013-7-17 00:16:32 | 显示全部楼层 |阅读模式

    废话少说, 当然是先打开glade3  放置一个窗口  在窗口上放置一个固定容器  然后然后在容器上放置一个单行文本框   在文本框下面放置两个按钮   在按钮下面放置一个标签 保存为entryreset.glade  名称之类的如图所示:


    在code::blocks下输入以下代码:

    /*

    作者:bailangcn

    时间:2012/3/15

    作者主页:bailangcn.tk

    */


    #include <gtk/gtk.h>
    GtkWidget *entry;
    GtkWidget *label;
    void get_entry_to_label(GtkWidget *Widget,gpointer data)
    {
        const gchar *text;

        text = (gchar *)malloc(sizeof(gchar));
        text = gtk_entry_get_text(GTK_ENTRY(entry));//获取entry的内容

        gtk_label_set_text(GTK_LABEL(label),text);//设置label的内容
    }
    void reset_entry(GtkWidget *Widget,gpointer data)
    {
    gtk_entry_set_text(GTK_ENTRY(entry),"欢迎光临www.bailangcn.tk");//设置entry的内容
    }
    int main(int argc, char *argv[])
    {
        GtkBuilder *builder;

        gtk_init(&argc, &argv);
        GtkWidget *window;

        GtkWidget *button;
        GtkWidget *reset;

        builder = gtk_builder_new();
        gtk_builder_add_from_file(builder, "entryreset.glade", NULL);

        window = GTK_WIDGET(gtk_builder_get_object(builder, "window"));
        entry = GTK_WIDGET(gtk_builder_get_object(builder,"entry"));
        button = GTK_WIDGET(gtk_builder_get_object(builder,"button"));
        reset = GTK_WIDGET(gtk_builder_get_object(builder,"reset"));
        label = GTK_WIDGET(gtk_builder_get_object(builder,"label"));


        g_signal_connect(G_OBJECT(window),"delete_event",G_CALLBACK(gtk_main_quit),NULL);
        g_signal_connect(G_OBJECT(button),"pressed",G_CALLBACK(get_entry_to_label),NULL);
        g_signal_connect(G_OBJECT(reset),"pressed",G_CALLBACK(reset_entry),NULL);

       // gtk_builder_connect_signals(builder, NULL);//自动关联已在 UI 文件配置好的信号  如果你不在galde文件里面配置信号这行代码可以不用

       
        g_object_unref(G_OBJECT(builder));//释放builder

        gtk_widget_show_all(window);
        gtk_main();
        return 0;
    }

    编译运行可得如下界面:

    输入文字按确定如下:

    按下重置如下:



    本文始发于:http://www.bailangcn.tk/?post=12转载请注明


  • TA的每日心情
    奋斗
    2015-10-16 12:17
  • 签到天数: 401 天

    连续签到: 1 天

    [LV.9]以坛为家II

     楼主| 发表于 2013-7-17 00:17:21 | 显示全部楼层
    顶一下自己
  • TA的每日心情
    开心
    2015-1-14 20:49
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2015-1-14 21:03:07 | 显示全部楼层
    赞一下,支持无私的楼主
    *滑块验证:
    您需要登录后才可以回帖 登录 | 马上加入

    本版积分规则

    申请友链|Archiver|小黑屋|手机版|GTK+中文社区 ( 粤ICP备13080851号 )

    我要啦免费统计

    GMT+8, 2024-11-21 17:27 , Processed in 0.037644 second(s), 9 queries , Redis On.

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表