zoukankan      html  css  js  c++  java
  • 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
    ", 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


    转自:

  • 相关阅读:
    查看进程在CPU和内存占用的命令
    Android studio 启动模拟器出现 VT-x is disabled in BIOS 以及 /dev/kvm is not found
    awk命令过滤tomcat的访日日志中IP地址
    windows 2008R2系统程序运行提示无法定位程序输入点ucrtbase.terminate
    k8s中yaml文件pod的语法(转)
    etcd和redis的比较和日常使用场景
    从gitlab或者github采用git clone和download zip的区别
    记录一次mysql查询速度慢造成CPU使用率很高情况
    USG防火墙DHCP设置保留IP地址
    让docker容器开机启动
  • 原文地址:https://www.cnblogs.com/yxysuanfa/p/6941326.html
Copyright © 2011-2022 走看看