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 ...
随机推荐
- Java常用集合类
上述类图中,实线边框的是实现类,比如ArrayList,LinkedList,HashMap等,折线边框的是抽象类,比如AbstractCollection,AbstractList,Abstract ...
- 【洛谷2257/BZOJ2820】YY的GCD(数论/莫比乌斯函数)
题目: 洛谷2257 预备知识:莫比乌斯定理(懵逼乌斯定理) \(\mu*1=\epsilon\)(证bu明hui略zheng) 其中(我校学长把\(\epsilon(x)\)叫单位函数但是为什么我没 ...
- 【原】cocos2d-x开发笔记:获取Sprite上某一个点的透明度,制作不规则按钮
本篇文章主要讲一下怎么做一个不规则的按钮,比如如下图的八卦,点击绿色和点击红色部分,需要执行不同的事件
- 批量建文件夹【win7企业版】
在记事本中notepad.exe按如下格式编辑好 md + 空格 + 文件夹名字(多个之间用空格隔开) 保存为.bat格式,运行即可批量创建文件夹.
- Mysql的事务、视图、索引、备份和恢复
事务 事务是作为单个逻辑工作单元执行的一系列操作,一个逻辑工作单元必须具备四个属性.即:原子性.一致性.隔离性.持久性,这些特性通常简称为ACID. 原子性(Atomicity) 事务是不可分割的 ...
- asp.net——根据时间,显示内容
题目: 在VS 2010中建立一个网站,命名为Lab5_1,建立时注意项目文件夹的存放位置.根据当前时间,在页面上显示早上好或下午好或晚上好,并显示相应的不同图片. 体验: 一开始看到这个题目的时候, ...
- Android项目实战_手机安全卫士进程管理
###1.设备进程信息获取获取设备运行进程 ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVI ...
- Appium Python API 汇总
最近在学习Python自动化,网络搜集而来,留着备用, 方便自己也方便他人.感谢总结的人! 1.contexts contexts(self): Returns the contexts within ...
- redis集群——RPLR简笔(Redis+PostgreSQL+Linux(centos7)+RabbitMQ)
使用的是centos7. 1.下载最新redis源码,解压(2016-05-12最新版本为3.2.0,3.0及以上才有官方集群) 2.进入源码根目录(此目录下的redis-stable目录),找到ut ...
- 如何设置“用eclipse开发时自动在顶端产生import”?
eclipse新版本中的默认设置可能导致自动在生成import时是在代码中,而大多数时间我们需要自动生成import在代码顶端,按照如下设置即可纠正