GTK经常使用控件之行编辑( GtkEntry )
行编辑,仅仅同意输入一行内容的控件。如password输入框。
行编辑的创建:
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不同意编辑
设置行编辑的内容是否可视(不能可视相当于password模式,看不到文本的内容):
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 )的更多相关文章
- DevExpress2011控件教程)编辑控件(comboBox,AspxCheckBox) 范例1
DevExpress2011控件教程)编辑控件(comboBox,AspxCheckBox) 范例1 AspxCheckBox 是一个检查编辑控件去展示特殊条件是否关闭或者打开.它一般会展示Yes/N ...
- 用MVC的辅助方法自定义了两个控件:“可编辑的下拉框控件”和“文本框日历控件”
接触MVC也没多长时间,一开始学的时候绝得MVC结构比较清晰.后来入了门具体操作下来感觉MVC控件怎么这么少还不可以像ASP.net form那样拖拽.这样设计界面来,想我种以前没学过JS,Jquer ...
- Gtk 窗口,控件,设置(添加图片等)
1.关于窗口 // 创建顶层窗体,后面有POPUP的 GtkWidget *main_window; main_window = gtk_window_new (GTK_WINDOW_TOPLEV ...
- 为 ItemsControl 类型的控件提供行号,mvvm模式 绑定集合
从网络上看到的两种方式,一种是,在 codebehind 里为 控件写事件,下面是将集合绑定到 DataGrid 控件: private void DataGridSoftware_LoadingRo ...
- GTK经常使用控件之笔记本控件( GtkNotebook )
笔记本控件,能够让用户标签式地切换多个界面. 当我们须要多窗体切换时,使用笔记本控件是一个明智的选择. 笔记本控件的创建: GtkWidget *gtk_notebook_new(void); 返回值 ...
- RichTextBox控件-主要用于输入输出编辑文本信息
1.在RichTextBox控件中添加超链接文字 private void btn_Add_Click(object sender, EventArgs e) { rtbox_HyperLink.Ap ...
- devpress 的gridview 控件的行拖拽 z
首先,添加引用:using DevExpress.XtraGrid.Views.Grid.ViewInfo; gridControl1.AllowDrop = true; ...
- ASP.NET 迭代控件获得行号
如何获取Repeater的当前行号,其实Repeater自身就带有这个获取当前行号的属性,而无需程序员绑定这个行号.到底要怎么实现呢?其实使用Repeater中的 Container.ItemInde ...
- C#WinForm的DataGridView控件显示行号
public void ShowIndex(DataGridView dgv) { for (int i = 0; i < dgv.Ro ...
随机推荐
- 51nod 1577 线性基
思路: http://blog.csdn.net/yxuanwkeith/article/details/53524757 //By SiriusRen #include <bits/stdc+ ...
- 343 Integer Break 整数拆分
给定一个正整数 n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化. 返回你可以获得的最大乘积.例如,给定 n = 2,返回1(2 = 1 + 1):给定 n = 10,返回36(10 = 3 ...
- 涨知识---IV
1.如何减少换页错误? A.进程倾向于占用CPU. B.访问局部性(locality of reference)满足进程要求. C.进程倾向于占用I/O. D.使用基于最短剩余时间(shortest ...
- 【转】MySQL存储引擎中的MyISAM和InnoDB区别详解
转自:http://www.jb51.net/article/62457.htm MyISAM是MySQL的默认数据库引擎(5.5版之前),由早期的ISAM(Indexed Sequential Ac ...
- Elasticsearch之sense插件安装之后的浏览详解
前提博客是 Elasticsearch之sense插件的安装(图文详解) 立马,可以看到 http://192.168.80.145:5601/app/sense 以后更新
- Hadoop基础(二)
HDFS 读写流程 我们知道在HDFS中我们的文件按数据块进行存储,那么当我们写入或者读取一个文件的时候HDFS到底进行了哪些操作呢? HDFS 写流程 如上图所示,假如我们有一个四个节点的集群,并且 ...
- MySQL关于视图的创建
-- 视图就是一条select 语句 执行后返回结果集,是一种虚拟表,是一个逻辑表 -- 方便操作,减少复杂的SQL语句,增加可读性,更加安全一些 create view demo_view as s ...
- html5——动画案例(时钟)
1.秒钟转360度需要60s分60步 2.分针转360度需要3600s分60步 3.秒钟转360度需要43200s分60步 <!DOCTYPE html> <html lang=&q ...
- Centos6.7 ELK日志系统部署
Centos6.7 ELK日志系统部署 原文地址:http://www.cnblogs.com/caoguo/p/4991602.html 一. 环境 elk服务器:192.168.55.134 lo ...
- Sandbox 沙盒
In computer security, a sandbox is a security mechanism for separating running programs, usually in ...