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

转自:

时间: 2024-10-27 07:54:02

GTK经常使用控件之行编辑( GtkEntry )的相关文章

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

行编辑,只允许输入一行内容的控件,如密码输入框. 行编辑的创建: 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 *tex

GridVIew控件选中、编辑、取消、删除数据项

<asp:GridView ID="GridView1" runat="server" OnRowDeleting="GridView1_RowDeleting" OnRowEditing="GridView1_RowEditing"                        OnRowUpdating="GridView1_RowUpdating" OnRowCancelingEdit=&quo

DevExpress2011控件教程)编辑控件(comboBox,AspxCheckBox) 范例1

DevExpress2011控件教程)编辑控件(comboBox,AspxCheckBox) 范例1 AspxCheckBox 是一个检查编辑控件去展示特殊条件是否关闭或者打开.它通常会展示Yes/No 或者是 True/False 的选择给用户.用户可以通过用鼠标点击编辑控件改变Check状态或者通过按 SPACE键来改变. 2011版本允许有2或3种状态. ASPxCheckBox支持2到3中状态,依赖 AllowGrayed属性设置. 用程序设置状态,一般使用Checked 或者 Chec

为 ItemsControl 类型的控件提供行号,mvvm模式 绑定集合

从网络上看到的两种方式,一种是,在 codebehind 里为 控件写事件,下面是将集合绑定到 DataGrid 控件: private void DataGridSoftware_LoadingRow(object sender, DataGridRowEventArgs e) { e.Row.Header = e.Row.GetIndex() + 1; } 貌似可行,但是先不说 mvvm 下这种方式的可行性,更新列表某一项,就必须得再写一套处理逻辑. 于是,直接在 ViewModel 里定义

C#:使用快捷菜单(ContextMenuStrip)删除DataGridView控件指定行

工作中遇到一个场景:在DataGridView上单击鼠标右键弹出快捷菜单,在快捷菜单内需要有"删除本行"."清空数据"等按钮,于是我就自己实现了一个: 实现步骤如下: 步骤1,建立一个C#下的Windows窗体应用程序,取名DgvMenuStripTest 步骤2,主窗体内的控件只有一个名为dgvTest的DataGridView,对这个DataGridView启用添加.启用编辑.启用删除,并设置其在父容器中停靠 步骤3,为这个DataGridView添加Mouse

旋转控件和高级编辑控件

一. 旋转控件 CSpinButtonCtrl (1)控件类型 UDS_ALIGNRIGHT/UDS_ALIGNLEFT 内嵌到绑定的控件左边和右边 UDS_SETBUDDYINT 点击控件发送WM_SETTEXT消息,改变CEdit控件的值 UDS_WRAP 在RANG返回循环增加和减少 UDS_ARROWKEYS UDS_NOTHOUSANDS UDS_AUTOBUDDY UDS_HORZ Spin控件水平放置,默认为垂直放置 (2)创建控件 CSpinButtonCtrl *pSpin =

Xamarin.Android之Picker控件关闭可编辑状态

在使用NumberPicker的时候,出现直接弹出键盘的情况,解决办法: picker.DescendantFocusability=DescendantFocusability.BlockDescendants; 另外在NumberPicker的使用过程中,还有两个几个问题: NumberPicker的MinValue和MaxValue表示的最小值和最大值,并不是实际显示的值,也就是说NumberPicker不是一个只显示Number的控件,可以显示任意的字符 picker.SetDispla

C#WinForm的DataGridView控件显示行号

public void ShowIndex(DataGridView dgv)        {                       for (int i = 0; i < dgv.Rows.Count; i++)            {                               dgv.Rows[i].HeaderCell.Value = (i+1).ToString();  //HeaderCell获取或设置行的标头单元格                     

devpress 的gridview 控件的行拖拽 z

首先,添加引用:using DevExpress.XtraGrid.Views.Grid.ViewInfo; gridControl1.AllowDrop = true; // 确保能够拖拽 gridView1.OptionsSelection.MultiSelect = true;     //确保能够多选 gridView1.OptionsSelection.EnableAppearanceFocusedCell = false; //确保选定行的背景色一样. gridView1.Optio