当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 2 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : [讨论]GTK编程问题 get_entry_get_text取值
帖子发表于 : 2007-09-13 14:11 

注册: 2007-09-13 14:09
帖子: 1
送出感谢: 0 次
接收感谢: 0 次
程序大概是这样

代码:
userlogin.h
class UserLoginWin {
private:
    GtkWidget *user_entry;
    GtkWidget *passwd_entry;
    static void on_Login_button_clicked(GtkWidget *widget, UserLoginWin *oUserLoginWin);
   
public:
    UserLoginWin();
    void Login(GtkWidget *hbox, GtkWidget *frame);
};


userloginwin.cpp:

void UserLoginWin::Login(GtkWidget *hbox, GtkWidget *frame)
{
    ....
    GtkWidget *table = gtk_table_new(2, 2, FALSE);
    gtk_box_pack_start(GTK_BOX(vbox), table, false, false, 0);
    gtk_container_set_border_width(GTK_CONTAINER(table), 12);
    label = gtk_label_new_with_mnemonic(_("_User Name:"));
    user_entry = gtk_entry_new ();
    gtk_label_set_mnemonic_widget(GTK_LABEL(label), user_entry);
    gtk_table_attach(GTK_TABLE(table), label, 0, 1, 0, 1, GTK_FILL, (GtkAttachOptions)0, 6, 4);
    gtk_table_attach(GTK_TABLE(table), user_entry, 1, 2, 0, 1, GTK_EXPAND, (GtkAttachOptions)0, 0, 4);
    label = gtk_label_new_with_mnemonic(_("_Password:"));
    passwd_entry = gtk_entry_new ();
    gtk_entry_set_visibility(GTK_ENTRY(passwd_entry), FALSE);
    gtk_label_set_mnemonic_widget (GTK_LABEL (label), passwd_entry);
    gtk_table_attach(GTK_TABLE(table), label, 0, 1, 1, 2, GTK_FILL, (GtkAttachOptions)0, 6, 4);
    gtk_table_attach(GTK_TABLE(table), passwd_entry, 1, 2, 1, 2, GTK_EXPAND, (GtkAttachOptions)0, 0, 4);
    .....
    GtkWidget *LoginButton = gtk_button_new();
    gtk_container_add (GTK_CONTAINER(LoginButton), hbox3);
    label = gtk_label_new_with_mnemonic(_("_Login"));
    gtk_box_pack_start(GTK_BOX (hbox3), label, FALSE, FALSE, 0);
    gtk_label_set_mnemonic_widget(GTK_LABEL(label), LoginButton);
    g_signal_connect(G_OBJECT(LoginButton),"clicked", G_CALLBACK(on_Login_button_clicked), this);
    gtk_box_pack_end(GTK_BOX(hbox2), LoginButton, false, false, 0);
    ......

}

void UserLoginWin::on_Login_button_clicked(GtkWidget *widget, UserLoginWin *oUserLoginWin)
{
    const char *euser = gtk_entry_get_text(GTK_ENTRY(oUserLoginWin- >user_entry));
    printf("ddddddd %s\n", euser);

    const gchar *epassword = gtk_entry_get_text(GTK_ENTRY(oUserLoginWin- >passwd_entry));
    printf("ccccccc %s\n", epassword);
   
}


编译后打印结果
dddddddd
cccccccc

就是说gtk_entry_get_text 取不到值, 请教好心人给帮忙看看。


页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2007-09-13 20:50 

注册: 2007-03-01 15:22
帖子: 22
地址: 广州
送出感谢: 0 次
接收感谢: 0 次
汗。。多了个o

引用:
oUserLoginWin


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 2 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 1 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译