Как создать страницу входа с кодом gtk3 c ++? [закрыто]

Я хочу создать страницу входа с кодом gtk3 c ++. это мой код c ++:

#include <gtk/gtk.h>


void create_window(GtkWidget *button, gpointer window) {

GtkWidget *win, *label;

//Username and Password to validate credentials
const string USERNAME = "user";
const string PASSWORD = "123456";
string username, password;


//Checking if user's entered credentials are equal to actual USERNAME and PASSWORD 
if (username == USERNAME && password == PASSWORD)
{
    label = gtk_label_new("Username and Password is correct.");
    win = gtk_window_new(GTK_WINDOW_TOPLEVEL);
    gtk_container_add(GTK_CONTAINER(win), label);
    gtk_widget_show_all(win);
}

else if (username != USERNAME || password != PASSWORD)

{
    label = gtk_label_new("Username and Password is incorrect.");
    win = gtk_window_new(GTK_WINDOW_TOPLEVEL);
    gtk_container_add(GTK_CONTAINER(win), label);
    gtk_widget_show_all(win);

}

}

static void destroy(GtkWidget *widget, gpointer data){
gtk_main_quit();
}

int main(int argc, char *argv[]){

GtkWidget *window;
GtkWidget *grid;
GtkWidget *Login_button, *Quit_button;
GtkWidget *u_name;
GtkWidget *pass;
GtkWidget *label_user;
GtkWidget *label_pass;
GtkWidget  *button_container;

gtk_init(&argc, &argv);

window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_title(GTK_WINDOW(window), "Login page");
gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
gtk_container_set_border_width(GTK_CONTAINER(window), 10);
gtk_window_set_resizable(GTK_WINDOW(window), FALSE); 

grid = gtk_grid_new();
gtk_grid_set_row_spacing(GTK_GRID(grid), 3);
gtk_container_add(GTK_CONTAINER(window), grid);

label_user = gtk_label_new("Username  ");
label_pass = gtk_label_new("Password  ");

u_name = gtk_entry_new();
gtk_entry_set_placeholder_text(GTK_ENTRY(u_name), "Username");
gtk_grid_attach(GTK_GRID(grid), label_user, 0, 1, 1, 1);
gtk_grid_attach(GTK_GRID(grid), u_name, 1, 1, 2, 1);

pass = gtk_entry_new();
gtk_entry_set_placeholder_text(GTK_ENTRY(pass), "Password");
gtk_grid_attach(GTK_GRID(grid), label_pass, 0, 2, 1, 1);
gtk_entry_set_visibility(GTK_ENTRY(pass), 0);
gtk_grid_attach(GTK_GRID(grid), pass, 1, 2, 1, 1);

Login_button = gtk_button_new_with_label("Log in");
g_signal_connect(Login_button, "clicked", G_CALLBACK(create_window), NULL);
gtk_grid_attach(GTK_GRID(grid), Login_button, 0, 3, 2, 1);

Quit_button = gtk_button_new_with_label("Quit");
g_signal_connect(Quit_button, "clicked", G_CALLBACK(gtk_main_quit), NULL);
gtk_grid_attach(GTK_GRID(grid), Quit_button, 0, 4, 2, 1);


gtk_widget_show_all(window);

gtk_main();

return 0;
}

Но я не могу ввести Username и Password в свой код.

Например, имя пользователя - Alireza, а пароль - 12345 @.

, когда я вставляю имя пользователя и пароль, если имя пользователя и пароль верны, открываются страница «Инициировать страницу» и «вторая страница» (новая страница). Но если какой-либо из них был неправильным, мы должны иметь эти сообщения на новой странице: Если Имя пользователя было неправильным, сообщение: Имя пользователя неверно. Если пароль был неправильным, сообщение: Пароль неверен.

1
задан 23 September 2016 в 13:18

0 ответов

Другие вопросы по тегам:

Похожие вопросы: