代码: 全选
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 取不到值, 请教好心人给帮忙看看。