GTK常用控件之行编辑( GtkEntry )
2015-01-26 11:06
134 查看
行编辑,只允许输入一行内容的控件,如密码输入框。
行编辑的创建:
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信号;
例子代码如下:
效果运行图如下:
源代码下载请点此处。
行编辑的创建:
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> // 按Enter,获取行编辑的内容 void enter_callback( GtkWidget *widget, gpointer entry ) { const gchar *entry_text; // 获得文本内容 entry_text = gtk_entry_get_text(GTK_ENTRY(entry)); printf("Entry contents: %s\n", entry_text); } int main( int argc, char *argv[] ) { gtk_init (&argc, &argv); // 初始化 GtkWidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL); // 创建窗口 g_signal_connect(window, "destroy", G_CALLBACK(gtk_main_quit), NULL); gtk_widget_set_size_request(window, 200, 50); // 设置窗口的大小 GtkWidget *entry = gtk_entry_new(); // 创建行编辑 gtk_container_add(GTK_CONTAINER(window), entry); // 表格放入窗口 gtk_entry_set_max_length(GTK_ENTRY(entry), 100); // 设置行编辑显示最大字符的长度 gtk_entry_set_text(GTK_ENTRY(entry), "hello word"); // 设置内容 //gtk_entry_set_visibility(GTK_ENTRY(entry), FALSE); // 密码模式 /* 如果我们想在用户输入文本时进行响应,可以为activate设置回调函数。 * 当用户在文本输入构件内部按回车键时引发Activate信号; */ g_signal_connect(entry, "activate", G_CALLBACK(enter_callback), entry); gtk_widget_show_all(window); // 显示窗口所有控件 gtk_main(); // 主事件循环 return 0; }
效果运行图如下:
源代码下载请点此处。
相关文章推荐
- GTK常用控件之行编辑( GtkEntry )
- Go版GTK:常用控件—行编辑
- GTK经常使用控件之行编辑( GtkEntry )
- GTK常用接口——图片、图片控件
- 超文本编辑(MSNQQ常用控件)
- GTK常用控件之按钮( GtkButton )
- Android常用控件二之编辑文本的控件
- 横秋扫盲系列(4): CRichEditCtrl 超文本编辑(MSN/QQ常用控件) -- 2005-08-28 21:13:15
- Go版GTK:常用控件—进度条
- GTK常用控件之图片控件( GtkImage )
- GTK常用控件之标签( GtkLabel )
- Go版GTK:常用控件—标签
- CRichEditCtrl 超文本编辑(MSN/QQ常用控件)(转)
- GTK常用控件之进度条( GtkProgressBar )
- 常用的编辑控件Xceed Editors for .NET详细介绍
- GTK常用控件之进度条( GtkProgressBar )
- Android开发之四(四):常用控件之编辑框(EditText)
- linux GTK 常用控件说明
- CRichEditCtrl 超文本编辑(MSN/QQ常用控件)
- GTK常用控件之笔记本控件( GtkNotebook )