码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2015-07-29 23:12:38      阅读:360      评论:0      收藏:0      [点我收藏+]

标签:gtk   gtk学习   

行编辑,只允许输入一行内容的控件,如密码输入框。

技术分享


行编辑的创建:

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 *text);

entry:行编辑

text:文本内容


获取行编辑的内容:

const gchar *gtk_entry_get_text(GtkEntry *entry);

entry:行编辑

返回值:获取到的行编辑内容


设置编辑控件是否允许编辑:

void gtk_editable_set_editable(GtkEditable *editable,

gboolean is_editable);

editable:需要操作的控件

is_editable:TRUE代表能允许编辑,默认属性,FALSE不允许编辑


设置行编辑的内容是否可视(不能可视相当于密码模式,看不到文本的内容):

void gtk_entry_set_visibility(GtkEntry *entry,
gboolean visible);

entry:行编辑

visible:TRUE可视,FALSE不可视


常用信号:"activate"

当用户在文本输入控件内部按回车键时引发activate信号;


例子代码如下:

#include <gtk/gtk.h>

void entry_callback(GtkWidget *widget, gpointer entry)
{
        const gchar *entry_text;

        //获取文本内容
        entry_text = gtk_entry_get_text(GTK_ENTRY(entry));

        printf("entry content:%s\n", entry_text);

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

        //2.创建一个window
        GtkWidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
        //设置窗口大小
        gtk_widget_set_size_request(window, 200, 50);
        g_signal_connect(window,"destroy", G_CALLBACK(gtk_main_quit), NULL);

        //3.创建一个行编辑
        GtkWidget *entry = gtk_entry_new();
        gtk_container_add(GTK_CONTAINER(window), entry);
        
        //4.设置行编辑显示最大字符的长度
        gtk_entry_set_max_length(GTK_ENTRY(entry), 100);
        //设置行编辑的内容
        gtk_entry_set_text(GTK_ENTRY(entry), "hello entry");

        //5.当我们在行编辑中敲回车的时候执行的动作
        g_signal_connect(entry, "activate", G_CALLBACK(entry_callback), entry);

        //6.显示所有窗口
        gtk_widget_show_all(window);

        //7.主事件循环
        gtk_main();

        return 0;
}


运行结果:

技术分享

源码下载:http://download.csdn.net/download/lianghe_work/8944435


转自:

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

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

标签:gtk   gtk学习   

原文地址:http://blog.csdn.net/lianghe_work/article/details/47132895

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!