基于C+sqlite3+GTK的体育馆管理系统项目开发

头文件区写好


#include "sqlite3.h"
#include
#include
#include
#include
#include
#include
#include

优化函数区域就是其他函数


static void set_widget_font_size(GtkWidget *widget, int size, gboolean is_button)
{
    GtkWidget *labelChild;
    PangoFontDescription *font;
    gint fontSize = size;

    font = pango_font_description_from_string("Sans");
    pango_font_description_set_size(font, fontSize*PANGO_SCALE);

    if(is_button){
        labelChild = gtk_bin_get_child(GTK_BIN(widget));
    }else{
        labelChild = widget;
    }

    gtk_widget_modify_font(GTK_WIDGET(labelChild), font);
    pango_font_description_free(font);
}

void chang_background(GtkWidget *widget, int w, int h, const gchar *path)
{
    gtk_widget_set_app_paintable(widget, TRUE);
    gtk_widget_realize(widget);

    gtk_widget_queue_draw(widget);

    GdkPixbuf *src_pixbuf = gdk_pixbuf_new_from_file(path, NULL);

    GdkPixbuf *dst_pixbuf = gdk_pixbuf_scale_simple(src_pixbuf, w, h, GDK_INTERP_BILINEAR);

    GdkPixmap *pixmap = NULL;

    gdk_pixbuf_render_pixmap_and_mask(dst_pixbuf, &pixmap, NULL, 128);

    gdk_window_set_back_pixmap(widget->window, pixmap, FALSE);

    g_object_unref(src_pixbuf);
    g_object_unref(dst_pixbuf);
    g_object_unref(pixmap);
}

//数据库初始化
//用户表中依次有姓名,身份证,密码,场馆,余额,电话,座位
//char sql = “create table user (xm text,sfz text,mm text, changguan text,ye int,dh text,zw text);”;
//创建管理员表格中有姓名,密码
//char
sql2 =”create table ds (xm text,mm text);”;

void my_sql_init(void)
{

    sqlite3* db;

    char *sql = "create table user (xm text,sfz text,mm text, changguan text,ye int,dh text,zw text);";
    sqlite3_open("qf.db",&db);
    char * errmsg = NULL;
    sqlite3_exec(db,sql,NULL,NULL,&errmsg);

    char *sql2 ="create table ds (xm text,mm text);";
    errmsg = NULL;
    sqlite3_exec(db,sql2,NULL,NULL,&errmsg);
    sqlite3_close(db);
}

接下来在最下面先写上main函数的框架


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

    my_sql_init();
    gtk_init(&argc,&argv);

    g_signal_connect(window_main,"destroy",G_CALLBACK(gtk_main_quit),NULL);
    gtk_widget_show_all(window_main);
    gtk_main();
    return 0;
}

接下来先写主界面就是刚开始的界面


void window_main_init(void)
{
    window_main = gtk_window_new(GTK_WINDOW_TOPLEVEL);
    gtk_widget_set_size_request(window_main,1024,724);
    chang_background(window_main,1024,724,"./1.jpg");
    GtkWidget* vbox = gtk_vbox_new(TRUE,10);
    gtk_container_add(GTK_CONTAINER(window_main),vbox);
    GtkWidget* label = gtk_label_new("欢迎进入zzuli体育馆管理系统");
    gtk_container_add(GTK_CONTAINER(vbox),label);
    GtkWidget* button = gtk_button_new_with_label("进入");
    gtk_container_add(GTK_CONTAINER(vbox),button);

    g_signal_connect(button, "pressed",G_CALLBACK(window_main_to_rk),NULL);

}

要记得加全局变量,只要是变的量都要加全局变量


sqlite3 *db = NULL;
GtkWidget* window_main;
GtkWidget* window_rk;

在main主函数中加入这个函数


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

    my_sql_init();
    gtk_init(&argc,&argv);

    window_main_init();

    g_signal_connect(window_main,"destroy",G_CALLBACK(gtk_main_quit),NULL);
    gtk_widget_show_all(window_main);
    gtk_main();
    return 0;
}

基于C+sqlite3+GTK的体育馆管理系统项目开发

接下来写入口界面


void window_rk_init(void)
{
    window_rk = gtk_window_new(GTK_WINDOW_TOPLEVEL);
    gtk_widget_set_size_request(window_rk,500,300);
    chang_background(window_rk,500,300,"./3.jpg");
    GtkWidget* table = gtk_table_new(3,2,TRUE);
    gtk_container_add(GTK_CONTAINER(window_rk),table);
    GtkWidget* label_title = gtk_label_new("体育馆管理系统入口");

    gtk_label_set_markup(GTK_LABEL(label_title),"体育馆管理系统入口");

    gtk_table_attach_defaults(GTK_TABLE(table),label_title,0,2,0,1);
    GtkWidget* button_yh = gtk_button_new_with_label("用户");
    gtk_table_attach_defaults(GTK_TABLE(table),button_yh,0,1,1,2);
    GtkWidget* button_gly = gtk_button_new_with_label("管理员");
    gtk_table_attach_defaults(GTK_TABLE(table),button_gly,1,2,1,2);

}

要写回调函数


void window_main_to_rk(GtkButton* button,gpointer user_data)
{

    gtk_widget_show_all(window_rk);

    gtk_widget_hide_all(window_main);

}

基于C+sqlite3+GTK的体育馆管理系统项目开发
接下来写用户登录界面
window_yh_init(); //用户登录界面

void window_yh_init(void)
{
    window_yh = gtk_window_new(GTK_WINDOW_TOPLEVEL);

    gtk_widget_set_size_request(window_yh,780,456);
    chang_background(window_yh,780,456,"./2.jpg");

    gtk_window_set_title(GTK_WINDOW(window_yh),"用户");
    GtkWidget* table = gtk_table_new(5,4,TRUE);

    gtk_container_add(GTK_CONTAINER(window_yh),table);

    GtkWidget* label_title  = gtk_label_new("欢迎来到用户端");

    gtk_label_set_markup(GTK_LABEL(label_title),"欢迎来到用户端");
    gtk_table_attach_defaults(GTK_TABLE(table),label_title,0,4,0,1);

    GtkWidget* label_id  = gtk_label_new("账号:");

    gtk_label_set_markup(GTK_LABEL(label_id),"账号:");
    gtk_table_attach_defaults(GTK_TABLE(table),label_id,0,1,1,2);

    GtkWidget* label_passwd  = gtk_label_new("密码:");

    gtk_label_set_markup(GTK_LABEL(label_passwd),"密码:");
    gtk_table_attach_defaults(GTK_TABLE(table),label_passwd,0,1,2,3);

    GtkWidget* label_yzm  = gtk_label_new("验证码:");

    gtk_label_set_markup(GTK_LABEL(label_yzm),"验证码:");
    gtk_table_attach_defaults(GTK_TABLE(table),label_yzm,0,1,3,4);

    yh_id = gtk_entry_new();
    gtk_table_attach_defaults(GTK_TABLE(table),yh_id,1,3,1,2);
    yh_passwd = gtk_entry_new();
    gtk_entry_set_visibility(GTK_ENTRY(yh_passwd),FALSE);
    gtk_table_attach_defaults(GTK_TABLE(table),yh_passwd,1,3,2,3);
    yh_yzm = gtk_entry_new();
    gtk_table_attach_defaults(GTK_TABLE(table),yh_yzm,1,3,3,4);

    label_yh_yzms = gtk_label_new("");

    char haha[4] = "";
    srand(time(NULL));
    int i = 0;
    for (i = 0; i < 4; ++i)
    {
        if(rand()%2 == 0)
            haha[i] = rand()%26+'a';
        else
            haha[i] = rand()%10+'0';
    }

    gtk_label_set_text(GTK_LABEL(label_yh_yzms),haha);
    char yzm[200] = "";
    sprintf(yzm,"%s",haha);
    gtk_label_set_markup(GTK_LABEL(label_yh_yzms),yzm);

    gtk_table_attach_defaults(GTK_TABLE(table),label_yh_yzms,3,4,3,4);

    GtkWidget* button_dl = gtk_button_new_with_label("登录");
    gtk_table_attach_defaults(GTK_TABLE(table),button_dl,0,1,4,5);

    GtkWidget* button_zc = gtk_button_new_with_label("注册");
    gtk_table_attach_defaults(GTK_TABLE(table),button_zc,1,2,4,5);

    GtkWidget* button_sx = gtk_button_new_with_label("刷新");
    gtk_table_attach_defaults(GTK_TABLE(table),button_sx,2,3,4,5);

    GtkWidget* button_fh = gtk_button_new_with_label("返回");
    gtk_table_attach_defaults(GTK_TABLE(table),button_fh,3,4,4,5);

}

基于C+sqlite3+GTK的体育馆管理系统项目开发

接下来注册函数


void window_yh_zc(GtkButton* button,gpointer user_data)
{

    sqlite3 * db;
    sqlite3_open("qf.db",&db);

    const char * id = gtk_entry_get_text(GTK_ENTRY(yh_id));
    const char * passwd = gtk_entry_get_text(GTK_ENTRY(yh_passwd));
    const char * yzm = gtk_entry_get_text(GTK_ENTRY(yh_yzm));
    const char * yzm_old = gtk_label_get_text(GTK_LABEL(label_yh_yzms));
    if (0!=strcmp(yzm,yzm_old))
    {
        gtk_entry_set_text(GTK_ENTRY(yh_yzm),"验证码错误");
        sqlite3_close(db);
        return;
    }

    char sql1[100] = "";
    sprintf(sql1,"select * from user where xm = \'%s\';",id);

    char ** table = NULL;
    char * errmsg = NULL;
    int r = 0,c = 0;

    sqlite3_get_table(db,sql1,&table,&r,&c,&errmsg);
    if (r != 0)
    {
        gtk_entry_set_text(GTK_ENTRY(yh_id),"已注册请登录");
        sqlite3_close(db);
        return;
    }

    char sql2[100] = "";
    errmsg = NULL;
    sprintf(sql2,"insert into user (xm,mm,ye) values(\'%s\',\'%s\',0);",id,passwd);
    sqlite3_exec(db,sql2,NULL,NULL,&errmsg);
    if(errmsg!=NULL)
        printf("注册问题:%s\n",errmsg);

    sqlite3_close(db);
    gtk_entry_set_text(GTK_ENTRY(yh_id),"已注册成功");

}

void window_yh_dl(GtkButton* button,gpointer user_data)
{

    sqlite3 * db;
    sqlite3_open("qf.db",&db);

    const char * id = gtk_entry_get_text(GTK_ENTRY(yh_id));
    const char * passwd = gtk_entry_get_text(GTK_ENTRY(yh_passwd));
    const char * yzm = gtk_entry_get_text(GTK_ENTRY(yh_yzm));
    const char * yzm_old = gtk_label_get_text(GTK_LABEL(label_yh_yzms));
    if (0!=strcmp(yzm,yzm_old))
    {
        gtk_entry_set_text(GTK_ENTRY(yh_yzm),"验证码错误");
        sqlite3_close(db);
        return;
    }

    char sql1[100] = "";
    sprintf(sql1,"select *from user where xm = \'%s\' and mm = \'%s\';",id,passwd);

    char ** table = NULL;
    char * errmsg = NULL;
    int r = 0,c = 0;

    sqlite3_get_table(db,sql1,&table,&r,&c,&errmsg);
    if (r != 0)
    {

        gtk_widget_hide_all(window_yh);
        printf("成功登录\n");
    }
    else
        gtk_entry_set_text(GTK_ENTRY(yh_id),"用户名或密码错误");
    sqlite3_close(db);
    return;
}

基于C+sqlite3+GTK的体育馆管理系统项目开发
没注册
基于C+sqlite3+GTK的体育馆管理系统项目开发
点击注册注册成功
基于C+sqlite3+GTK的体育馆管理系统项目开发

写用户功能菜单


void window_yh_cd_init(void)
{
    window_yh_cd = gtk_window_new(GTK_WINDOW_TOPLEVEL);
    gtk_widget_set_size_request(window_yh_cd,780,456);
    chang_background(window_yh_cd,780,456,"./4.jpg");
    GtkWidget* table = gtk_table_new(3,3,TRUE);
    gtk_container_add(GTK_CONTAINER(window_yh_cd),table);
    GtkWidget* label_title = gtk_label_new("用户功能菜单");

    gtk_label_set_markup(GTK_LABEL(label_title),"用户功能菜单");

    gtk_table_attach_defaults(GTK_TABLE(table),label_title,0,3,0,1);
    GtkWidget* button_cz = gtk_button_new_with_label("充值");
    gtk_table_attach_defaults(GTK_TABLE(table),button_cz,0,1,1,2);
    GtkWidget* button_xf = gtk_button_new_with_label("消费");
    gtk_table_attach_defaults(GTK_TABLE(table),button_xf,1,2,1,2);
    GtkWidget* button_cx = gtk_button_new_with_label("查看个人所有信息");
    gtk_table_attach_defaults(GTK_TABLE(table),button_cx,2,3,1,2);
    GtkWidget* button_xg = gtk_button_new_with_label("修改自己信息");
    gtk_table_attach_defaults(GTK_TABLE(table),button_xg,0,1,2,3);
    GtkWidget* button_yu = gtk_button_new_with_label("预约");
    gtk_table_attach_defaults(GTK_TABLE(table),button_yu,1,2,2,3);
    GtkWidget* button_fh = gtk_button_new_with_label("返回");
    gtk_table_attach_defaults(GTK_TABLE(table),button_fh,2,3,2,3);

}

基于C+sqlite3+GTK的体育馆管理系统项目开发

接下来写充值功能


void yh_cz_do_cz(GtkButton* button, gpointer user_data)
{

    sqlite3 * db;
    sqlite3_open("qf.db",&db);

    const char * id = gtk_entry_get_text(GTK_ENTRY(yh_id));
    const char * yue = gtk_label_get_text(GTK_LABEL(yh_yu));
    const char * jine = gtk_entry_get_text(GTK_ENTRY(yh_cz_jine));
    int new_yue =  atoi(yue) +atoi(jine);

    char sql[100] = "";
    char *errmsg = NULL;
    sprintf(sql,"update user set yu = %d where xm = \'%s\';",new_yue,id);
    sqlite3_exec(db,sql,NULL,NULL,&errmsg);
    sqlite3_close(db);
}


void window_yh_cz_init(void)
{
    window_yh_cz = gtk_window_new(GTK_WINDOW_TOPLEVEL);
    gtk_widget_set_size_request(window_yh_cz,780,456);
    chang_background(window_yh_cz,780,456,"./1.png");
    GtkWidget* table = gtk_table_new(4,3,TRUE);
    gtk_container_add(GTK_CONTAINER(window_yh_cz),table);
    GtkWidget* label_title = gtk_label_new("用户充值");

    gtk_label_set_markup(GTK_LABEL(label_title),"用户充值");

    gtk_table_attach_defaults(GTK_TABLE(table),label_title,0,3,0,1);

    GtkWidget* label_yue = gtk_label_new("余额");
    gtk_label_set_markup(GTK_LABEL(label_yue),"余额:");
    gtk_table_attach_defaults(GTK_TABLE(table),label_yue,0,1,1,2);
    GtkWidget* label_jine = gtk_label_new("金额");
    gtk_label_set_markup(GTK_LABEL(label_jine),"金额:");
    gtk_table_attach_defaults(GTK_TABLE(table),label_jine,0,1,2,3);
    yh_cz_yue = gtk_label_new("");
    gtk_label_set_markup(GTK_LABEL(yh_cz_yue),"");
    gtk_table_attach_defaults(GTK_TABLE(table),yh_cz_yue,1,2,1,2);
    yh_cz_jine = gtk_entry_new();
    gtk_table_attach_defaults(GTK_TABLE(table),yh_cz_jine,1,2,2,3);

    GtkWidget* button_cz = gtk_button_new_with_label("充值");
    gtk_table_attach_defaults(GTK_TABLE(table),button_cz,0,1,3,4);
    GtkWidget* button_sx = gtk_button_new_with_label("刷新");
    gtk_table_attach_defaults(GTK_TABLE(table),button_sx,1,2,3,4);
    GtkWidget* button_fh = gtk_button_new_with_label("返回");
    gtk_table_attach_defaults(GTK_TABLE(table),button_fh,2,3,3,4);

    g_signal_connect(button_cz,"pressed",G_CALLBACK(yh_cz_do_cz),NULL);
    g_signal_connect(button_sx,"pressed",G_CALLBACK(yh_cz_do_sx),NULL);
    g_signal_connect(button_fh,"pressed",G_CALLBACK(yh_cz_to_cd),NULL);
}

基于C+sqlite3+GTK的体育馆管理系统项目开发
接下来写用户查询自己所有信息函数

void window_yh_cx_init(void)
{
    window_yh_cx = gtk_window_new(GTK_WINDOW_TOPLEVEL);
    gtk_widget_set_size_request(window_yh_cx,958,539);
    gtk_window_set_position(GTK_WINDOW(window_yh_cx),GTK_WIN_POS_CENTER_ALWAYS);
    chang_background(window_yh_cx, 958,539,"./2.png");
    GtkWidget* table = gtk_table_new(3,4,TRUE);
    gtk_container_add(GTK_CONTAINER(window_yh_cx),table);
    GtkWidget* label_title = gtk_label_new("个人信息");
    set_widget_font_size(label_title, 20, FALSE);
    gtk_table_attach_defaults(GTK_TABLE(table),label_title,0,3,0,1);

    GtkWidget* label_xm = gtk_label_new("姓名:");
    gtk_table_attach_defaults(GTK_TABLE(table),label_xm,0,1,1,2);
    GtkWidget* label_changguan = gtk_label_new("场馆:");
    gtk_table_attach_defaults(GTK_TABLE(table),label_changguan,2,3,1,2);
    GtkWidget* label_passwd = gtk_label_new("密码:");
    gtk_table_attach_defaults(GTK_TABLE(table),label_passwd,0,1,2,3);
    GtkWidget* label_ye = gtk_label_new("余额:");
    gtk_table_attach_defaults(GTK_TABLE(table),label_ye,2,3,2,3);

    yh_id = gtk_label_new("");
    gtk_table_attach_defaults(GTK_TABLE(table),yh_id,1,2,1,2);
    yh_passwd = gtk_label_new("");
    gtk_table_attach_defaults(GTK_TABLE(table),yh_passwd,1,2,2,3);
    yh_changguan = gtk_label_new("");
    gtk_table_attach_defaults(GTK_TABLE(table),yh_changguan,3,4,1,2);
    yh_ye = gtk_label_new("");
    gtk_table_attach_defaults(GTK_TABLE(table),yh_ye,3,4,2,3);

    GtkWidget* button_fh = gtk_button_new_with_label("返回");
    gtk_button_set_relief(GTK_BUTTON(button_fh),GTK_RELIEF_NONE);
    gtk_table_attach_defaults(GTK_TABLE(table),button_fh,3,4,0,1);

    g_signal_connect(button_fh,"pressed",G_CALLBACK(window_cx_to_cd),NULL);

}


void yh_cd_to_yh_cx(GtkButton* button,gpointer user_data)
{

    const char * id = gtk_entry_get_text(GTK_ENTRY(yh_id));
    sqlite3*db;
    sqlite3_open("qf.db",&db);
    char sql1[100] ="";
    sprintf(sql1,"select * from user where xm = \'%s\';",id);
    char **jg = NULL;
    int r = 0, c = 0;
    char *errmsg = NULL;
    sqlite3_get_table(db,sql1,&jg,&r,&c,&errmsg);
    if (r!=0)
    {

        gtk_label_set_text(GTK_LABEL(label_user_xm),jg[4]);
        gtk_label_set_text(GTK_LABEL(label_user_passwd),jg[5]);
        gtk_label_set_text(GTK_LABEL(label_user_ye),jg[7]);
        gtk_label_set_text(GTK_LABEL(label_user_changguan),jg[6]);

    }
    sqlite3_close(db);

    gtk_widget_show_all(window_yh_cx);

    gtk_widget_hide_all(window_yh_cd);
}

基于C+sqlite3+GTK的体育馆管理系统项目开发

下面是修改个人信息


void window_user_xg_do_user_xg(GtkButton* button,gpointer user_data)
{

    sqlite3 * db;
    sqlite3_open("qf.db",&db);

    const char * id = gtk_entry_get_text(GTK_ENTRY(label_user_xg_id));
    const char * passwd = gtk_entry_get_text(GTK_ENTRY(label_user_xg_passwd));

    char sql1[100] = "";

    sprintf(sql1,"update  user set mm = \'%s\' where xm = \'%s\';",passwd,id);

    char * errmsg = NULL;

    sqlite3_exec(db,sql1,NULL,NULL,&errmsg);
    if (errmsg!= NULL)
    {
        printf("修改问题:%s\n",errmsg);

        sqlite3_close(db);

        gtk_entry_set_text(GTK_ENTRY(label_user_xg_xm),"修改成功");
    }
}

基于C+sqlite3+GTK的体育馆管理系统项目开发
接下来写预约功能:

void window_user_yu_init(void)
{
    window_yh_yu = gtk_window_new(GTK_WINDOW_TOPLEVEL);
    gtk_widget_set_size_request(window_yh_yu,958,539);
    chang_background(window_yh_yu, 958,539,"./2.png");
    GtkWidget* table = gtk_table_new(3,3,TRUE);
    gtk_container_add(GTK_CONTAINER(window_yh_yu),table);
    GtkWidget* label_title = gtk_label_new("请选择你的场馆");
    gtk_table_attach_defaults(GTK_TABLE(table),label_title,1,2,0,1);

    GtkWidget* button_1 = gtk_button_new_with_label("第一场馆");
    gtk_table_attach_defaults(GTK_TABLE(table),button_1,0,1,1,2);
    GtkWidget* button_2 = gtk_button_new_with_label("第二场馆");
    gtk_table_attach_defaults(GTK_TABLE(table),button_2,1,2,1,2);
    GtkWidget* button_3 = gtk_button_new_with_label("第三场馆");
    gtk_table_attach_defaults(GTK_TABLE(table),button_3,0,1,2,3);
    GtkWidget* button_4 = gtk_button_new_with_label("第四场馆");
    gtk_table_attach_defaults(GTK_TABLE(table),button_4,1,2,2,3);

    GtkWidget* button_fh = gtk_button_new_with_label("返回");
    gtk_table_attach_defaults(GTK_TABLE(table),button_fh,2,3,0,1);
    GtkWidget* button_qr = gtk_button_new_with_label("确认");
    gtk_table_attach_defaults(GTK_TABLE(table),button_qr,2,3,2,3);

    entry_user_xzkcm = gtk_entry_new();
    gtk_table_attach_defaults(GTK_TABLE(table),entry_user_xzkcm,2,3,1,2);

    g_signal_connect(button_fh,"pressed",G_CALLBACK(window_yu_to_cd),NULL);
    g_signal_connect(button_1,"pressed",G_CALLBACK(user_do_yu),NULL);
    g_signal_connect(button_2,"pressed",G_CALLBACK(user_do_yu),NULL);
    g_signal_connect(button_3,"pressed",G_CALLBACK(user_do_yu),NULL);
    g_signal_connect(button_4,"pressed",G_CALLBACK(user_do_yu),NULL);
    g_signal_connect(button_qr,"pressed",G_CALLBACK(user_do_qryu),NULL);
}

下面写管理员界面

先写登录和注册功能
同学生的差不多

写管理员的第一个功能:查询用户信息


void window_gly_cx_do_cx(GtkButton* button,gpointer user_data)
{

    const char * id = gtk_entry_get_text(GTK_ENTRY(label_gly_cx_id));
    sqlite3*db;
    sqlite3_open("qf.db",&db);
    char sql1[100] ="";
    sprintf(sql1,"select * from user where xm = \'%s\';",id);
    char **jg = NULL;
    int r = 0, c = 0;
    char *errmsg = NULL;
    sqlite3_get_table(db,sql1,&jg,&r,&c,&errmsg);
    if (r!=0)
    {

        gtk_label_set_text(GTK_LABEL(label_user_xm),jg[4]);
        gtk_label_set_text(GTK_LABEL(label_user_passwd),jg[5]);
        gtk_label_set_text(GTK_LABEL(label_user_ye),jg[7]);
        gtk_label_set_text(GTK_LABEL(label_user_changguan),jg[6]);

    }
    sqlite3_close(db);

    gtk_widget_show_all(window_gly_cx);

    gtk_widget_hide_all(window_gly_cd);
}

基于C+sqlite3+GTK的体育馆管理系统项目开发
修改用户信息界面跟用户上面的差不多

删除用户


void window_gly_sc_do_gly_sc(GtkButton* button,gpointer user_data)
{
        const char* id = gtk_entry_get_text(GTK_ENTRY(label_gly_sc_id));
        sqlite3* db;
    sqlite3_open("qf.db",&db);
    char sql4[100] ="";
    sprintf(sql4,"delete from user where xm= \'%s\';",id);

    char * errmsg = NULL;

    sqlite3_exec(db,sql4,NULL,NULL,&errmsg);
    if (errmsg!= NULL)
    {
        printf("删除问题:%s\n",errmsg);

        sqlite3_close(db);

        gtk_entry_set_text(GTK_ENTRY(label_gly_sc_id),"删除成功");
    }
}

下面是全部代码:可以参考一下:我也是新手


#include "sqlite3.h"
#include
#include
#include
#include
#include
#include
#include

sqlite3 *db = NULL;
GtkWidget* window_main;
GtkWidget* window_rk;
GtkWidget* window_rk;
GtkWidget* window_yh;
GtkWidget* yh_id;
GtkWidget* yh_passwd;
GtkWidget* yh_yzm;
GtkWidget* yh_ye;
GtkWidget* yh_changguan;
GtkWidget* label_user_passwd;
GtkWidget* label_user_changguan;
GtkWidget* label_user_xm;
GtkWidget* label_user_ye;
GtkWidget* label_yh_yzms;
GtkWidget* window_yh_cd;
GtkWidget* window_yh_cz;
GtkWidget* window_yh_cx;
GtkWidget* yh_cz_yue;
GtkWidget* yh_cz_jine;
GtkWidget* window_yh_xg;
GtkWidget*  label_user_xg_xm_new;
GtkWidget* label_user_xg_passwd_new;
GtkWidget* label_user_xg_xm;
GtkWidget* label_user_xg_passwd;
GtkWidget* label_user_xg_id;
GtkWidget* window_yh_yu;
GtkWidget* entry_user_xzkcm;
GtkWidget* label_gly_yzms;
GtkWidget* window_gly_cd;
GtkWidget* window_gly;
GtkWidget* gly_yzm;
GtkWidget* gly_passwd;
GtkWidget* gly_id;
GtkWidget* label_gly_cx_id;
GtkWidget* window_gly_cx;
GtkWidget* window_gly_xg;
GtkWidget* label_gly_sc_id;

GtkWidget* window_gly_sc;
GtkWidget* window_gly_zj;
GtkWidget* label_gly_zj_id;
GtkWidget* label_gly_zj_mm;
GtkWidget* gly_gly_cx_id;
GtkWidget* gly_user_ye;
GtkWidget* gly_user_xm;
GtkWidget* gly_user_passwd;
GtkWidget* gly_user_changguan;

GtkWidget* gly_user_xg_id;
GtkWidget* gly_user_xg_passwd;
GtkWidget* gly_user_xg_xm;

void window_main_to_rk(GtkButton* button,gpointer user_data)
{

    gtk_widget_show_all(window_rk);

    gtk_widget_hide_all(window_main);

}

void window_rk_to_yh(GtkButton* button,gpointer user_data)
{

    gtk_widget_show_all(window_yh);

    gtk_widget_hide_all(window_rk);
}

void window_yh_to_rk(GtkButton* button,gpointer user_data)
{

    gtk_widget_show_all(window_rk);

    gtk_widget_hide_all(window_yh);
}

void window_yh_sx(GtkButton* button,gpointer user_data)
{

    gtk_entry_set_text(GTK_ENTRY(yh_id),"");
    gtk_entry_set_text(GTK_ENTRY(yh_passwd),"");
    gtk_entry_set_text(GTK_ENTRY(yh_yzm),"");

    char haha[4] = "";
    srand(time(NULL));
    int i = 0;
    for (i = 0; i < 4; ++i)
    {
        if(rand()%2 == 0)
            haha[i] = rand()%26+'a';
        else
            haha[i] = rand()%10+'0';
    }

    char yzm[200] = "";
    sprintf(yzm,"%s",haha);
    gtk_label_set_markup(GTK_LABEL(label_yh_yzms),yzm);

}

void yh_cd_to_yh_dl(GtkButton* button,gpointer user_data)
{

    gtk_widget_show_all(window_yh);

    gtk_widget_hide_all(window_yh_cd);
}

void yh_cd_to_yh_cz(GtkButton* button,gpointer user_data)
{

    gtk_widget_show_all(window_yh_cz);

    gtk_widget_hide_all(window_yh_cd);
}

void yh_cz_to_cd(GtkButton* button,gpointer user_data)
{

    gtk_widget_show_all(window_yh_cd);

    gtk_widget_hide_all(window_yh_cz);
}

void window_cx_to_cd(GtkButton* button,gpointer user_data)
{

    gtk_widget_show_all(window_yh_cd);

    gtk_widget_hide_all(window_yh_cx);
}

void window_xg_to_cd(GtkButton* button,gpointer user_data)
{

    gtk_widget_show_all(window_yh_cd);

    gtk_widget_hide_all(window_yh_xg);
}

void yh_cd_to_yh_xg(GtkButton* button,gpointer user_data)
{

    gtk_widget_show_all(window_yh_xg);

    gtk_widget_hide_all(window_yh_cd);
}

void yh_cd_to_yh_yu()
{

    gtk_widget_show_all(window_yh_yu);

    gtk_widget_hide_all(window_yh_cd);
}

void window_yu_to_cd()
{

    gtk_widget_show_all(window_yh_cd);

    gtk_widget_hide_all(window_yh_yu);
}

void user_do_yu(GtkButton* button,gpointer user_data)
{

    const char* kc = gtk_button_get_label(button);
    gtk_entry_set_text(GTK_ENTRY(entry_user_xzkcm),kc);
}

void window_gly_to_rk()
{

    gtk_widget_show_all(window_rk);

    gtk_widget_hide_all(window_gly);

}

void window_rk_to_gly()
{

    gtk_widget_show_all(window_gly);

    gtk_widget_hide_all(window_rk);
}

void window_gly_cx_to_cd()
{

    gtk_widget_show_all(window_gly_cd);

    gtk_widget_hide_all(window_gly_cx);
}

void gly_cd_to_gly_cx()
{

    gtk_widget_show_all(window_gly_cx);

    gtk_widget_hide_all(window_gly_cd);
}

void window_gly_xg_to_gly_cd()
{

    gtk_widget_show_all(window_gly_cd);

    gtk_widget_hide_all(window_gly_xg);
}

void gly_cd_to_gly_xg()
{

    gtk_widget_show_all(window_gly_xg);

    gtk_widget_hide_all(window_gly_cd);
}

void window_gly_sc_to_gly_cd()
{

    gtk_widget_show_all(window_gly_cd);

    gtk_widget_hide_all(window_gly_sc);
}

void gly_cd_to_gly_sc()
{

    gtk_widget_show_all(window_gly_sc);

    gtk_widget_hide_all(window_gly_cd);
}

void window_gly_zj_to_gly_cd()
{

    gtk_widget_show_all(window_gly_cd);

    gtk_widget_hide_all(window_gly_zj);
}

void gly_cd_to_gly_zj()
{

    gtk_widget_show_all(window_gly_zj);

    gtk_widget_hide_all(window_gly_cd);
}

void gly_cd_to_gly()
{

    gtk_widget_show_all(window_gly);

    gtk_widget_hide_all(window_gly_cd);
}

void window_yh_zc(GtkButton* button,gpointer user_data)
{

    sqlite3 * db;
    sqlite3_open("qf.db",&db);

    const char * id = gtk_entry_get_text(GTK_ENTRY(yh_id));
    const char * passwd = gtk_entry_get_text(GTK_ENTRY(yh_passwd));
    const char * yzm = gtk_entry_get_text(GTK_ENTRY(yh_yzm));
    const char * yzm_old = gtk_label_get_text(GTK_LABEL(label_yh_yzms));
    if (0!=strcmp(yzm,yzm_old))
    {
        gtk_entry_set_text(GTK_ENTRY(yh_yzm),"验证码错误");
        sqlite3_close(db);
        return;
    }

    char sql1[100] = "";
    sprintf(sql1,"select * from user where xm = \'%s\';",id);

    char ** table = NULL;
    char * errmsg = NULL;
    int r = 0,c = 0;

    sqlite3_get_table(db,sql1,&table,&r,&c,&errmsg);
    if (r != 0)
    {
        gtk_entry_set_text(GTK_ENTRY(yh_id),"已注册请登录");
        sqlite3_close(db);
        return;
    }

    char sql2[100] = "";
    errmsg = NULL;
    sprintf(sql2,"insert into user (xm,mm,ye,changguan) values(\'%s\',\'%s\',0,'无预约');",id,passwd);
    sqlite3_exec(db,sql2,NULL,NULL,&errmsg);
    if(errmsg!=NULL)
        printf("注册问题:%s\n",errmsg);

    sqlite3_close(db);
    gtk_entry_set_text(GTK_ENTRY(yh_id),"已注册成功");

}

void window_yh_dl(GtkButton* button,gpointer user_data)
{

    sqlite3 * db;
    sqlite3_open("qf.db",&db);

    const char * id = gtk_entry_get_text(GTK_ENTRY(yh_id));
    const char * passwd = gtk_entry_get_text(GTK_ENTRY(yh_passwd));
    const char * yzm = gtk_entry_get_text(GTK_ENTRY(yh_yzm));
    const char * yzm_old = gtk_label_get_text(GTK_LABEL(label_yh_yzms));
    if (0!=strcmp(yzm,yzm_old))
    {
        gtk_entry_set_text(GTK_ENTRY(yh_yzm),"验证码错误");
        sqlite3_close(db);
        return;
    }

    char sql1[100] = "";
    sprintf(sql1,"select *from user where xm = \'%s\' and mm = \'%s\';",id,passwd);

    char ** table = NULL;
    char * errmsg = NULL;
    int r = 0,c = 0;

    sqlite3_get_table(db,sql1,&table,&r,&c,&errmsg);
    if (r != 0)
    {

        gtk_widget_show_all(window_yh_cd);
        gtk_widget_hide_all(window_yh);
        printf("成功登录\n");
    }
    else
        gtk_entry_set_text(GTK_ENTRY(yh_id),"用户名或密码错误");
    sqlite3_close(db);
    return;
}

void yh_cz(GtkButton* button, gpointer user_data)
{

    sqlite3 * db;
    sqlite3_open("qf.db",&db);

    const char * id = gtk_entry_get_text(GTK_ENTRY(yh_id));
    const char * yue = gtk_label_get_text(GTK_LABEL(yh_cz_yue));
    const char * jine = gtk_entry_get_text(GTK_ENTRY(yh_cz_jine));
    int new_yue =  atoi(yue) +atoi(jine);

    char sql[100] = "";
    char *errmsg = NULL;
    sprintf(sql,"update user set ye = %d where xm = \'%s\';",new_yue,id);
    sqlite3_exec(db,sql,NULL,NULL,&errmsg);
    sqlite3_close(db);
}

void yh_cz_sx(GtkButton* button,gpointer user_data)
{

    sqlite3 * db;
    sqlite3_open("qf.db",&db);

    const char * id = gtk_entry_get_text(GTK_ENTRY(yh_id));

    char sql1[100] = "";
    sprintf(sql1,"select ye from user where xm = \'%s\';",id);

    char ** table = NULL;
    char * errmsg = NULL;
    int r = 0,c = 0;

    sqlite3_get_table(db,sql1,&table,&r,&c,&errmsg);
    if(r!=0)
    {

        gtk_label_set_text(GTK_LABEL(yh_cz_yue),table[1]);

    }
    sqlite3_close(db);
}

void yh_cd_to_yh_cx(GtkButton* button,gpointer user_data)
{

    const char * id = gtk_entry_get_text(GTK_ENTRY(yh_id));
    sqlite3*db;
    sqlite3_open("qf.db",&db);
    char sql1[100] ="";
    sprintf(sql1,"select * from user where xm = \'%s\';",id);
    char **jg = NULL;
    int r = 0, c = 0;
    char *errmsg = NULL;
    sqlite3_get_table(db,sql1,&jg,&r,&c,&errmsg);
    if (r!=0)
    {

        gtk_label_set_text(GTK_LABEL(label_user_xm),jg[4]);
        gtk_label_set_text(GTK_LABEL(label_user_passwd),jg[5]);
        gtk_label_set_text(GTK_LABEL(label_user_ye),jg[7]);
        gtk_label_set_text(GTK_LABEL(label_user_changguan),jg[6]);

    }
    sqlite3_close(db);

    gtk_widget_show_all(window_yh_cx);

    gtk_widget_hide_all(window_yh_cd);
}

void window_gly_cx_do_cx(GtkButton* button,gpointer user_data)
{

    const char * id = gtk_entry_get_text(GTK_ENTRY(gly_gly_cx_id));
    sqlite3*db;
    sqlite3_open("qf.db",&db);
    char sql1[100] ="";
    sprintf(sql1,"select * from user where xm = \'%s\';",id);
    char **jg = NULL;
    int r = 0, c = 0;
    char *errmsg = NULL;
    sqlite3_get_table(db,sql1,&jg,&r,&c,&errmsg);
    if (r!=0)
    {

        gtk_label_set_text(GTK_LABEL(gly_user_xm),jg[4]);
        gtk_label_set_text(GTK_LABEL(gly_user_passwd),jg[5]);
        gtk_label_set_text(GTK_LABEL(gly_user_ye),jg[7]);
        gtk_label_set_text(GTK_LABEL(gly_user_changguan),jg[6]);

    }
    sqlite3_close(db);

    gtk_widget_show_all(window_gly_cx);

    gtk_widget_hide_all(window_gly_cd);
}

void window_user_xg_do_user_xg(GtkButton* button,gpointer user_data)
{

    sqlite3 * db;
    sqlite3_open("qf.db",&db);

    const char * id = gtk_entry_get_text(GTK_ENTRY(label_user_xg_id));
    const char * passwd = gtk_entry_get_text(GTK_ENTRY(label_user_xg_passwd));

    char sql1[100] = "";

    sprintf(sql1,"update  user set mm = \'%s\' where xm = \'%s\';",passwd,id);

    char * errmsg = NULL;

    sqlite3_exec(db,sql1,NULL,NULL,&errmsg);
    if (errmsg!= NULL)
    {
        printf("修改问题:%s\n",errmsg);

        sqlite3_close(db);

        gtk_entry_set_text(GTK_ENTRY(label_user_xg_xm),"修改成功");
    }
}

void window_gly_xg_do_gly_xg(GtkButton* button,gpointer user_data)
{

    sqlite3 * db;
    sqlite3_open("qf.db",&db);

    const char * id = gtk_entry_get_text(GTK_ENTRY(gly_user_xg_id));
    const char * passwd = gtk_entry_get_text(GTK_ENTRY(gly_user_xg_passwd));

    char sql1[100] = "";

    sprintf(sql1,"update  user set mm = \'%s\' where xm = \'%s\';",passwd,id);

    char * errmsg = NULL;

    sqlite3_exec(db,sql1,NULL,NULL,&errmsg);
    if (errmsg!= NULL)
    {
        printf("修改问题:%s\n",errmsg);

        sqlite3_close(db);

        gtk_entry_set_text(GTK_ENTRY(label_user_xg_xm),"修改成功");
    }
}

void user_do_qryu(GtkButton* button,gpointer user_data)
{
    const char* id = gtk_entry_get_text(GTK_ENTRY(yh_id));
    const char* new = gtk_entry_get_text(GTK_ENTRY(entry_user_xzkcm));

    sqlite3* db;
    sqlite3_open("qf.db",&db);
    char sql4[100] ="";
    sprintf(sql4,"select ye from user where xm = \'%s\';",id);

    char **table2 = NULL;
    int r = 0, c = 0;
    char *errmsg = NULL;
    const char* mn;
    sqlite3_get_table(db,sql4,&table2,&r,&c,&errmsg);
    if (r!=0)
    {
        mn = table2[1];

    }
    if(atoi(mn)>=200)
    {
        char sql1[100] = "";
        sprintf(sql1,"select * from user where xm = \'%s\' and changguan = \'%s\';",id,new);

    char **table = NULL;
        int r =0,c =0;
        char *errmsg = NULL;
        sqlite3_get_table(db,sql1,&table,&r,&c,&errmsg);
        if(r!=0)
        {
            gtk_entry_set_text(GTK_ENTRY(entry_user_xzkcm),"你已经选择过该场馆,请勿重复选择");

            return;
        }
        char sql2[100] = "";
        errmsg = NULL;
        sprintf(sql2,"update user set changguan = \'%s\' where xm= \'%s\';",new,id);
        sqlite3_exec(db,sql2,NULL,NULL,&errmsg);
        if(errmsg==NULL)
        {

            char sql3[100] = "";
            errmsg = NULL;
            sprintf(sql3,"update user set ye = ye-200 where xm= \'%s\';",id);
            sqlite3_exec(db,sql3,NULL,NULL,&errmsg);
            gtk_entry_set_text(GTK_ENTRY(entry_user_xzkcm),"选择成功");
        }
        else
            printf("%s\n", errmsg);

    }
    else
        gtk_entry_set_text(GTK_ENTRY(entry_user_xzkcm),"余额不足请先充值");

    sqlite3_close(db);
}

void window_gly_sc_do_gly_sc(GtkButton* button,gpointer user_data)
{
        const char* id = gtk_entry_get_text(GTK_ENTRY(label_gly_sc_id));
        sqlite3* db;
    sqlite3_open("qf.db",&db);
    char sql4[100] ="";
    sprintf(sql4,"delete from user where xm= \'%s\';",id);

    char * errmsg = NULL;

    sqlite3_exec(db,sql4,NULL,NULL,&errmsg);
    if (errmsg!= NULL)
    {
        printf("删除问题:%s\n",errmsg);

        sqlite3_close(db);

        gtk_entry_set_text(GTK_ENTRY(label_gly_sc_id),"删除成功");
    }
}

void window_gly_zj_do_gly_zj(GtkButton* button,gpointer user_data)
{
    const char* id = gtk_entry_get_text(GTK_ENTRY(label_gly_zj_id));
    const char* passwd = gtk_entry_get_text(GTK_ENTRY(label_gly_zj_mm));

    sqlite3* db;
    sqlite3_open("qf.db",&db);
    char sql4[100] ="";
    sprintf(sql4,"insert into user (xm,mm,ye,changguan) values(\'%s\',\'%s\',0,'无预约');",id,passwd);

    char * errmsg = NULL;

    sqlite3_exec(db,sql4,NULL,NULL,&errmsg);
    if (errmsg!= NULL)
    {
        printf("增加问题:%s\n",errmsg);

        sqlite3_close(db);

        gtk_entry_set_text(GTK_ENTRY(label_gly_sc_id),"增加成功");
    }
}

void window_gly_do_sx(GtkButton* button,gpointer user_data)
{

    gtk_entry_set_text(GTK_ENTRY(gly_id),"");
    gtk_entry_set_text(GTK_ENTRY(gly_passwd),"");
    gtk_entry_set_text(GTK_ENTRY(gly_yzm),"");

    char haha[4] = "";
    srand(time(NULL));
    int i = 0;
    for (i = 0; i < 4; ++i)
    {
        if(rand()%2 == 0)
            haha[i] = rand()%26+'a';
        else
            haha[i] = rand()%10+'0';
    }

    char yzm[200] = "";
    sprintf(yzm,"%s",haha);
    gtk_label_set_markup(GTK_LABEL(label_gly_yzms),yzm);
}

void window_gly_do_zc(GtkButton* button,gpointer user_data)
{

    sqlite3 * db;
    sqlite3_open("qf.db",&db);

    const char * id = gtk_entry_get_text(GTK_ENTRY(gly_id));
    const char * passwd = gtk_entry_get_text(GTK_ENTRY(gly_passwd));
    const char * yzm = gtk_entry_get_text(GTK_ENTRY(gly_yzm));
    const char * yzm_old = gtk_label_get_text(GTK_LABEL(label_gly_yzms));
    if (0!=strcmp(yzm,yzm_old))
    {
        gtk_entry_set_text(GTK_ENTRY(gly_id),"验证码错误");
        sqlite3_close(db);
        return;
    }

    char sql1[100] = "";
    sprintf(sql1,"select * from gly where xm = \'%s\';",id);

    char ** table = NULL;
    char * errmsg = NULL;
    int r = 0,c = 0;

    sqlite3_get_table(db,sql1,&table,&r,&c,&errmsg);
    if (r != 0)
    {
        gtk_entry_set_text(GTK_ENTRY(gly_id),"已注册请登录");
        sqlite3_close(db);
        return;
    }

    char sql2[100] = "";
    errmsg = NULL;
    sprintf(sql2,"insert into gly  (xm,mm) values(\'%s\',\'%s\');",id,passwd);
    sqlite3_exec(db,sql2,NULL,NULL,&errmsg);
    if(errmsg!=NULL)
        printf("注册问题:%s\n",errmsg);

    sqlite3_close(db);
    gtk_entry_set_text(GTK_ENTRY(gly_id),"已注册成功");
}

void window_gly_do_dl(GtkButton* button,gpointer user_data)
{

    sqlite3 * db;
    sqlite3_open("qf.db",&db);

    const char * id = gtk_entry_get_text(GTK_ENTRY(gly_id));
    const char * passwd = gtk_entry_get_text(GTK_ENTRY(gly_passwd));
    const char * yzm = gtk_entry_get_text(GTK_ENTRY(gly_yzm));
    const char * yzm_old = gtk_label_get_text(GTK_LABEL(label_gly_yzms));
    if (0!=strcmp(yzm,yzm_old))
    {
        gtk_entry_set_text(GTK_ENTRY(gly_id),"验证码错误");
        sqlite3_close(db);
        return;
    }

    char sql1[100] = "";
    sprintf(sql1,"select *from gly where xm = \'%s\' and mm = \'%s\';",id,passwd);

    char ** table = NULL;
    char * errmsg = NULL;
    int r = 0,c = 0;

    sqlite3_get_table(db,sql1,&table,&r,&c,&errmsg);
    if (r != 0)
    {

        gtk_widget_show_all(window_gly_cd);
        gtk_widget_hide_all(window_gly);
        printf("登录成功\n");
    }
    else
        gtk_entry_set_text(GTK_ENTRY(gly_id),"用户名或密码错误");
    sqlite3_close(db);
    return;
}

static void set_widget_font_size(GtkWidget *widget, int size, gboolean is_button)
{
    GtkWidget *labelChild;
    PangoFontDescription *font;
    gint fontSize = size;

    font = pango_font_description_from_string("Sans");
    pango_font_description_set_size(font, fontSize*PANGO_SCALE);

    if(is_button){
        labelChild = gtk_bin_get_child(GTK_BIN(widget));
    }else{
        labelChild = widget;
    }

    gtk_widget_modify_font(GTK_WIDGET(labelChild), font);
    pango_font_description_free(font);
}

void chang_background(GtkWidget *widget, int w, int h, const gchar *path)
{
    gtk_widget_set_app_paintable(widget, TRUE);
    gtk_widget_realize(widget);

    gtk_widget_queue_draw(widget);

    GdkPixbuf *src_pixbuf = gdk_pixbuf_new_from_file(path, NULL);

    GdkPixbuf *dst_pixbuf = gdk_pixbuf_scale_simple(src_pixbuf, w, h, GDK_INTERP_BILINEAR);

    GdkPixmap *pixmap = NULL;

    gdk_pixbuf_render_pixmap_and_mask(dst_pixbuf, &pixmap, NULL, 128);

    gdk_window_set_back_pixmap(widget->window, pixmap, FALSE);

    g_object_unref(src_pixbuf);
    g_object_unref(dst_pixbuf);
    g_object_unref(pixmap);
}

void window_main_init(void)
{
    window_main = gtk_window_new(GTK_WINDOW_TOPLEVEL);
    gtk_widget_set_size_request(window_main,1024,724);
    chang_background(window_main,1024,724,"./1.jpg");
    GtkWidget* vbox = gtk_vbox_new(TRUE,10);
    gtk_container_add(GTK_CONTAINER(window_main),vbox);
    GtkWidget* label = gtk_label_new("欢迎进入zzuli体育馆管理系统");
    gtk_container_add(GTK_CONTAINER(vbox),label);
    set_widget_font_size(label, 50, FALSE);
    GtkWidget* button = gtk_button_new_with_label("进入");
    gtk_container_add(GTK_CONTAINER(vbox),button);
    set_widget_font_size(button, 29, TRUE);

    g_signal_connect(button, "pressed",G_CALLBACK(window_main_to_rk),NULL);

}

void window_rk_init(void)
{
    window_rk = gtk_window_new(GTK_WINDOW_TOPLEVEL);
    gtk_widget_set_size_request(window_rk,500,300);
    chang_background(window_rk,500,300,"./3.jpg");
    GtkWidget* table = gtk_table_new(3,2,TRUE);
    gtk_container_add(GTK_CONTAINER(window_rk),table);
    GtkWidget* label_title = gtk_label_new("体育馆管理系统入口");

    gtk_label_set_markup(GTK_LABEL(label_title),"体育馆管理系统入口");

    gtk_table_attach_defaults(GTK_TABLE(table),label_title,0,2,0,1);
    GtkWidget* button_yh = gtk_button_new_with_label("用户");
    gtk_table_attach_defaults(GTK_TABLE(table),button_yh,0,1,2,3);
    GtkWidget* button_gly = gtk_button_new_with_label("管理员");
    gtk_table_attach_defaults(GTK_TABLE(table),button_gly,1,2,2,3);

    g_signal_connect(button_yh,"pressed",G_CALLBACK(window_rk_to_yh),NULL);

    g_signal_connect(button_gly,"pressed",G_CALLBACK(window_rk_to_gly),NULL);

}

void window_yh_init(void)
{
    window_yh = gtk_window_new(GTK_WINDOW_TOPLEVEL);

    gtk_widget_set_size_request(window_yh,780,456);
    chang_background(window_yh,780,456,"./2.jpg");

    gtk_window_set_title(GTK_WINDOW(window_yh),"用户");
    GtkWidget* table = gtk_table_new(5,4,TRUE);

    gtk_container_add(GTK_CONTAINER(window_yh),table);

    GtkWidget* label_title  = gtk_label_new("欢迎来到用户端");

    gtk_label_set_markup(GTK_LABEL(label_title),"欢迎来到用户端");
    gtk_table_attach_defaults(GTK_TABLE(table),label_title,0,4,0,1);

    GtkWidget* label_id  = gtk_label_new("账号:");

    gtk_label_set_markup(GTK_LABEL(label_id),"账号:");
    gtk_table_attach_defaults(GTK_TABLE(table),label_id,0,1,1,2);

    GtkWidget* label_passwd  = gtk_label_new("密码:");

    gtk_label_set_markup(GTK_LABEL(label_passwd),"密码:");
    gtk_table_attach_defaults(GTK_TABLE(table),label_passwd,0,1,2,3);

    GtkWidget* label_yzm  = gtk_label_new("验证码:");

    gtk_label_set_markup(GTK_LABEL(label_yzm),"验证码:");
    gtk_table_attach_defaults(GTK_TABLE(table),label_yzm,0,1,3,4);

    yh_id = gtk_entry_new();
    gtk_table_attach_defaults(GTK_TABLE(table),yh_id,1,3,1,2);
    yh_passwd = gtk_entry_new();
    gtk_entry_set_visibility(GTK_ENTRY(yh_passwd),FALSE);
    gtk_table_attach_defaults(GTK_TABLE(table),yh_passwd,1,3,2,3);
    yh_yzm = gtk_entry_new();
    gtk_table_attach_defaults(GTK_TABLE(table),yh_yzm,1,3,3,4);

    label_yh_yzms = gtk_label_new("");

    char haha[4] = "";
    srand(time(NULL));
    int i = 0;
    for (i = 0; i < 4; ++i)
    {
        if(rand()%2 == 0)
            haha[i] = rand()%26+'a';
        else
            haha[i] = rand()%10+'0';
    }

    gtk_label_set_text(GTK_LABEL(label_yh_yzms),haha);
    char yzm[200] = "";
    sprintf(yzm,"%s",haha);
    gtk_label_set_markup(GTK_LABEL(label_yh_yzms),yzm);

    gtk_table_attach_defaults(GTK_TABLE(table),label_yh_yzms,3,4,3,4);

    GtkWidget* button_dl = gtk_button_new_with_label("登录");
    gtk_table_attach_defaults(GTK_TABLE(table),button_dl,0,1,4,5);

    GtkWidget* button_zc = gtk_button_new_with_label("注册");
    gtk_table_attach_defaults(GTK_TABLE(table),button_zc,1,2,4,5);

    GtkWidget* button_sx = gtk_button_new_with_label("刷新");
    gtk_table_attach_defaults(GTK_TABLE(table),button_sx,2,3,4,5);

    GtkWidget* button_fh = gtk_button_new_with_label("返回");
    gtk_table_attach_defaults(GTK_TABLE(table),button_fh,3,4,4,5);

    g_signal_connect(button_sx,"pressed",G_CALLBACK(window_yh_sx),NULL);
    g_signal_connect(button_fh,"pressed",G_CALLBACK(window_yh_to_rk),NULL);
    g_signal_connect(button_zc,"pressed",G_CALLBACK(window_yh_zc),NULL);
    g_signal_connect(button_dl,"pressed",G_CALLBACK(window_yh_dl),NULL);

}

void window_yh_cd_init(void)
{
    window_yh_cd = gtk_window_new(GTK_WINDOW_TOPLEVEL);
    gtk_widget_set_size_request(window_yh_cd,780,456);
    chang_background(window_yh_cd,780,456,"./4.jpg");
    GtkWidget* table = gtk_table_new(3,3,TRUE);
    gtk_container_add(GTK_CONTAINER(window_yh_cd),table);
    GtkWidget* label_title = gtk_label_new("用户功能菜单");

    gtk_label_set_markup(GTK_LABEL(label_title),"用户功能菜单");

    gtk_table_attach_defaults(GTK_TABLE(table),label_title,1,2,0,1);
    GtkWidget* button_cz = gtk_button_new_with_label("充值");
    gtk_table_attach_defaults(GTK_TABLE(table),button_cz,0,1,1,2);
    gtk_button_set_relief(GTK_BUTTON(button_cz),GTK_RELIEF_NONE);
    GtkWidget* button_cx = gtk_button_new_with_label("查看个人所有信息");
    gtk_table_attach_defaults(GTK_TABLE(table),button_cx,1,2,1,2);
    gtk_button_set_relief(GTK_BUTTON(button_cx),GTK_RELIEF_NONE);
    GtkWidget* button_xg = gtk_button_new_with_label("修改自己信息");
    gtk_table_attach_defaults(GTK_TABLE(table),button_xg,2,3,1,2);
    gtk_button_set_relief(GTK_BUTTON(button_xg),GTK_RELIEF_NONE);
    GtkWidget* button_yu = gtk_button_new_with_label("预约");
    gtk_table_attach_defaults(GTK_TABLE(table),button_yu,0,3,2,3);
    gtk_button_set_relief(GTK_BUTTON(button_yu),GTK_RELIEF_NONE);
    GtkWidget* button_fh = gtk_button_new_with_label("返回");
    gtk_table_attach_defaults(GTK_TABLE(table),button_fh,2,3,0,1);
    gtk_button_set_relief(GTK_BUTTON(button_fh),GTK_RELIEF_NONE);

    g_signal_connect(button_cz,"pressed",G_CALLBACK(yh_cd_to_yh_cz),NULL);
    g_signal_connect(button_cx,"pressed",G_CALLBACK(yh_cd_to_yh_cx),NULL);
    g_signal_connect(button_fh,"pressed",G_CALLBACK(yh_cd_to_yh_dl),NULL);
    g_signal_connect(button_xg,"pressed",G_CALLBACK(yh_cd_to_yh_xg),NULL);
    g_signal_connect(button_yu,"pressed",G_CALLBACK(yh_cd_to_yh_yu),NULL);
}

void window_yh_cz_init(void)
{
    window_yh_cz = gtk_window_new(GTK_WINDOW_TOPLEVEL);
    gtk_widget_set_size_request(window_yh_cz,958,539);
    chang_background(window_yh_cz,958,539,"./2.png");
    GtkWidget* table = gtk_table_new(4,3,TRUE);
    gtk_container_add(GTK_CONTAINER(window_yh_cz),table);
    GtkWidget* label_title = gtk_label_new("用户充值");

    gtk_label_set_markup(GTK_LABEL(label_title),"用户充值");

    gtk_table_attach_defaults(GTK_TABLE(table),label_title,0,3,0,1);

    GtkWidget* label_yue = gtk_label_new("余额");
    gtk_label_set_markup(GTK_LABEL(label_yue),"余额:");
    gtk_table_attach_defaults(GTK_TABLE(table),label_yue,0,1,1,2);
    GtkWidget* label_jine = gtk_label_new("金额");
    gtk_label_set_markup(GTK_LABEL(label_jine),"金额:");
    gtk_table_attach_defaults(GTK_TABLE(table),label_jine,0,1,2,3);
    yh_cz_yue = gtk_label_new("");
    gtk_label_set_markup(GTK_LABEL(yh_cz_yue),"");
    gtk_table_attach_defaults(GTK_TABLE(table),yh_cz_yue,1,2,1,2);
    yh_cz_jine = gtk_entry_new();
    gtk_table_attach_defaults(GTK_TABLE(table),yh_cz_jine,1,2,2,3);

    GtkWidget* button_cz = gtk_button_new_with_label("充值");
    gtk_table_attach_defaults(GTK_TABLE(table),button_cz,0,1,3,4);
    GtkWidget* button_sx = gtk_button_new_with_label("刷新");
    gtk_table_attach_defaults(GTK_TABLE(table),button_sx,1,2,3,4);
    GtkWidget* button_fh = gtk_button_new_with_label("返回");
    gtk_table_attach_defaults(GTK_TABLE(table),button_fh,2,3,3,4);

    g_signal_connect(button_cz,"pressed",G_CALLBACK(yh_cz),NULL);
    g_signal_connect(button_sx,"pressed",G_CALLBACK(yh_cz_sx),NULL);
    g_signal_connect(button_fh,"pressed",G_CALLBACK(yh_cz_to_cd),NULL);
}

void window_yh_cx_init(void)
{
    window_yh_cx = gtk_window_new(GTK_WINDOW_TOPLEVEL);
    gtk_widget_set_size_request(window_yh_cx,958,539);
    chang_background(window_yh_cx, 958,539,"./2.png");
    GtkWidget* table = gtk_table_new(3,4,TRUE);
    gtk_container_add(GTK_CONTAINER(window_yh_cx),table);
    GtkWidget* label_title = gtk_label_new("个人信息");
    gtk_table_attach_defaults(GTK_TABLE(table),label_title,0,3,0,1);

    GtkWidget* label_xm = gtk_label_new("姓名:");
    gtk_table_attach_defaults(GTK_TABLE(table),label_xm,0,1,1,2);
    GtkWidget* label_changguan = gtk_label_new("场馆:");
    gtk_table_attach_defaults(GTK_TABLE(table),label_changguan,2,3,1,2);
    GtkWidget* label_passwd = gtk_label_new("密码:");
    gtk_table_attach_defaults(GTK_TABLE(table),label_passwd,0,1,2,3);
    GtkWidget* label_ye = gtk_label_new("余额:");
    gtk_table_attach_defaults(GTK_TABLE(table),label_ye,2,3,2,3);

    label_user_xm=gtk_label_new("");
    gtk_table_attach_defaults(GTK_TABLE(table),label_user_xm,1,2,1,2);
    label_user_passwd = gtk_label_new("");
    gtk_table_attach_defaults(GTK_TABLE(table),label_user_passwd,1,2,2,3);
    label_user_changguan = gtk_label_new("");
    gtk_table_attach_defaults(GTK_TABLE(table),label_user_changguan,3,4,1,2);
    label_user_ye = gtk_label_new("");
    gtk_table_attach_defaults(GTK_TABLE(table),label_user_ye,3,4,2,3);

    GtkWidget* button_fh = gtk_button_new_with_label("返回");
    gtk_button_set_relief(GTK_BUTTON(button_fh),GTK_RELIEF_NONE);
    gtk_table_attach_defaults(GTK_TABLE(table),button_fh,3,4,0,1);

    g_signal_connect(button_fh,"pressed",G_CALLBACK(window_cx_to_cd),NULL);

}

void window_gly_cx_init(void)
{
    window_gly_cx = gtk_window_new(GTK_WINDOW_TOPLEVEL);
    gtk_widget_set_size_request(window_gly_cx,958,539);
    chang_background(window_gly_cx, 958,539,"./2.png");
    GtkWidget* table = gtk_table_new(4,4,TRUE);
    gtk_container_add(GTK_CONTAINER(window_gly_cx),table);
    GtkWidget* label_title = gtk_label_new("用户信息");
    gtk_table_attach_defaults(GTK_TABLE(table),label_title,0,3,0,1);

    GtkWidget* label_xm = gtk_label_new("姓名:");
    gtk_table_attach_defaults(GTK_TABLE(table),label_xm,0,1,1,2);
    GtkWidget* label_changguan = gtk_label_new("场馆:");
    gtk_table_attach_defaults(GTK_TABLE(table),label_changguan,2,3,1,2);
    GtkWidget* label_passwd = gtk_label_new("密码:");
    gtk_table_attach_defaults(GTK_TABLE(table),label_passwd,0,1,2,3);
    GtkWidget* label_ye = gtk_label_new("余额:");
    gtk_table_attach_defaults(GTK_TABLE(table),label_ye,2,3,2,3);
    GtkWidget* label_shuru = gtk_label_new("请输入你要查询的用户姓名:");
    gtk_table_attach_defaults(GTK_TABLE(table),label_shuru,0,3,3,4);

    gly_user_xm=gtk_label_new("");
    gtk_table_attach_defaults(GTK_TABLE(table),gly_user_xm,1,2,1,2);
    gly_user_passwd = gtk_label_new("");
    gtk_table_attach_defaults(GTK_TABLE(table),gly_user_passwd,1,2,2,3);
    gly_user_changguan = gtk_label_new("");
    gtk_table_attach_defaults(GTK_TABLE(table),gly_user_changguan,3,4,1,2);
    gly_user_ye = gtk_label_new("");
    gtk_table_attach_defaults(GTK_TABLE(table),gly_user_ye,3,4,2,3);

    gly_gly_cx_id=gtk_entry_new();
    gtk_table_attach_defaults(GTK_TABLE(table),gly_gly_cx_id,3,4,3,4);

    GtkWidget* button_fh = gtk_button_new_with_label("返回");
    gtk_button_set_relief(GTK_BUTTON(button_fh),GTK_RELIEF_NONE);
    gtk_table_attach_defaults(GTK_TABLE(table),button_fh,3,4,0,1);

    GtkWidget* button_qrcx = gtk_button_new_with_label("确认");
    gtk_button_set_relief(GTK_BUTTON(button_qrcx),GTK_RELIEF_NONE);
    gtk_table_attach_defaults(GTK_TABLE(table),button_qrcx,0,1,0,1);

    g_signal_connect(button_qrcx,"pressed",G_CALLBACK(window_gly_cx_do_cx),NULL);
    g_signal_connect(button_fh,"pressed",G_CALLBACK(window_gly_cx_to_cd),NULL);
}

 void window_user_xg_init(void)
{
    window_yh_xg = gtk_window_new(GTK_WINDOW_TOPLEVEL);
    gtk_widget_set_size_request(window_yh_xg,958,539);
    chang_background(window_yh_xg, 958,539,"./2.png");
    GtkWidget* table = gtk_table_new(5,4,TRUE);
    gtk_container_add(GTK_CONTAINER(window_yh_xg),table);
    GtkWidget* label_title = gtk_label_new("个人信息修改");
    gtk_table_attach_defaults(GTK_TABLE(table),label_title,1,3,0,1);

    GtkWidget* label_user_xm = gtk_label_new("要修改的账号id:");
    gtk_table_attach_defaults(GTK_TABLE(table),label_user_xm,0,1,1,2);
    GtkWidget* label_passwd = gtk_label_new("密码修改为:");
    gtk_table_attach_defaults(GTK_TABLE(table),label_passwd,0,1,3,4);

    GtkWidget* button_fh = gtk_button_new_with_label("返回");
    gtk_button_set_relief(GTK_BUTTON(button_fh),GTK_RELIEF_NONE);
    gtk_table_attach_defaults(GTK_TABLE(table),button_fh,3,4,0,1);

    GtkWidget* button_qrxg = gtk_button_new_with_label("确认修改");
    gtk_button_set_relief(GTK_BUTTON(button_qrxg),GTK_RELIEF_NONE);
    gtk_table_attach_defaults(GTK_TABLE(table),button_qrxg,1,3,4,5);

    label_user_xg_id=gtk_entry_new();
    gtk_table_attach_defaults(GTK_TABLE(table),label_user_xg_id,1,3,1,2);
    label_user_xg_xm = gtk_entry_new();
    gtk_table_attach_defaults(GTK_TABLE(table),label_user_xg_xm,1,3,2,3);
    label_user_xg_passwd = gtk_entry_new();
    gtk_table_attach_defaults(GTK_TABLE(table),label_user_xg_passwd,1,3,3,4);

    g_signal_connect(button_fh,"pressed",G_CALLBACK(window_xg_to_cd),NULL);
    g_signal_connect(button_qrxg,"pressed",G_CALLBACK(window_user_xg_do_user_xg),NULL);

}

void window_gly_xg_init(void)
{
    window_gly_xg = gtk_window_new(GTK_WINDOW_TOPLEVEL);
    gtk_widget_set_size_request(window_gly_xg,958,539);
    chang_background(window_gly_xg, 958,539,"./2.png");
    GtkWidget* table = gtk_table_new(5,4,TRUE);
    gtk_container_add(GTK_CONTAINER(window_gly_xg),table);
    GtkWidget* label_title = gtk_label_new("用户信息修改");
    gtk_table_attach_defaults(GTK_TABLE(table),label_title,1,3,0,1);

    GtkWidget* label_user_xm = gtk_label_new("要修改的账号id:");
    gtk_table_attach_defaults(GTK_TABLE(table),label_user_xm,0,1,1,2);
    GtkWidget* label_passwd = gtk_label_new("密码修改为:");
    gtk_table_attach_defaults(GTK_TABLE(table),label_passwd,0,1,3,4);

    GtkWidget* button_fh = gtk_button_new_with_label("返回");
    gtk_button_set_relief(GTK_BUTTON(button_fh),GTK_RELIEF_NONE);
    gtk_table_attach_defaults(GTK_TABLE(table),button_fh,3,4,0,1);

    GtkWidget* button_qrxg = gtk_button_new_with_label("确认修改");
    gtk_button_set_relief(GTK_BUTTON(button_qrxg),GTK_RELIEF_NONE);
    gtk_table_attach_defaults(GTK_TABLE(table),button_qrxg,1,3,4,5);

    gly_user_xg_id=gtk_entry_new();
    gtk_table_attach_defaults(GTK_TABLE(table),gly_user_xg_id,1,3,1,2);
    gly_user_xg_xm = gtk_entry_new();
    gtk_table_attach_defaults(GTK_TABLE(table),gly_user_xg_xm,1,3,2,3);
    gly_user_xg_passwd = gtk_entry_new();
    gtk_table_attach_defaults(GTK_TABLE(table),gly_user_xg_passwd,1,3,3,4);

    g_signal_connect(button_fh,"pressed",G_CALLBACK(window_gly_xg_to_gly_cd),NULL);
    g_signal_connect(button_qrxg,"pressed",G_CALLBACK(window_gly_xg_do_gly_xg),NULL);
}

void window_user_yu_init(void)
{
    window_yh_yu = gtk_window_new(GTK_WINDOW_TOPLEVEL);
    gtk_widget_set_size_request(window_yh_yu,958,539);
    chang_background(window_yh_yu, 958,539,"./2.png");
    GtkWidget* table = gtk_table_new(3,3,TRUE);
    gtk_container_add(GTK_CONTAINER(window_yh_yu),table);
    GtkWidget* label_title = gtk_label_new("请选择你的场馆");
    gtk_table_attach_defaults(GTK_TABLE(table),label_title,1,2,0,1);

    GtkWidget* button_1 = gtk_button_new_with_label("第一场馆");
    gtk_table_attach_defaults(GTK_TABLE(table),button_1,0,1,1,2);
    GtkWidget* button_2 = gtk_button_new_with_label("第二场馆");
    gtk_table_attach_defaults(GTK_TABLE(table),button_2,1,2,1,2);
    GtkWidget* button_3 = gtk_button_new_with_label("第三场馆");
    gtk_table_attach_defaults(GTK_TABLE(table),button_3,0,1,2,3);
    GtkWidget* button_4 = gtk_button_new_with_label("第四场馆");
    gtk_table_attach_defaults(GTK_TABLE(table),button_4,1,2,2,3);

    GtkWidget* button_fh = gtk_button_new_with_label("返回");
    gtk_table_attach_defaults(GTK_TABLE(table),button_fh,2,3,0,1);
    GtkWidget* button_qr = gtk_button_new_with_label("确认");
    gtk_table_attach_defaults(GTK_TABLE(table),button_qr,2,3,2,3);

    entry_user_xzkcm = gtk_entry_new();
    gtk_table_attach_defaults(GTK_TABLE(table),entry_user_xzkcm,2,3,1,2);

    g_signal_connect(button_fh,"pressed",G_CALLBACK(window_yu_to_cd),NULL);
    g_signal_connect(button_1,"pressed",G_CALLBACK(user_do_yu),NULL);
    g_signal_connect(button_2,"pressed",G_CALLBACK(user_do_yu),NULL);
    g_signal_connect(button_3,"pressed",G_CALLBACK(user_do_yu),NULL);
    g_signal_connect(button_4,"pressed",G_CALLBACK(user_do_yu),NULL);
    g_signal_connect(button_qr,"pressed",G_CALLBACK(user_do_qryu),NULL);
}

void window_gly_init()
{
    window_gly = gtk_window_new(GTK_WINDOW_TOPLEVEL);

    gtk_widget_set_size_request(window_gly,780,456);
    chang_background(window_gly,780,456,"./2.jpg");
    gtk_window_set_title(GTK_WINDOW(window_gly),"管理员");
    GtkWidget* table = gtk_table_new(5,4,TRUE);

    gtk_container_add(GTK_CONTAINER(window_gly),table);

    GtkWidget* label_title  = gtk_label_new("欢迎来到管理员端");
    gtk_label_set_markup(GTK_LABEL(label_title),"欢迎来到管理员端");

    gtk_table_attach_defaults(GTK_TABLE(table),label_title,0,4,0,1);

    GtkWidget* label_id  = gtk_label_new("账号:");

    gtk_label_set_markup(GTK_LABEL(label_id),"账号:");
    gtk_table_attach_defaults(GTK_TABLE(table),label_id,0,1,1,2);

    GtkWidget* label_passwd  = gtk_label_new("密码:");

    gtk_label_set_markup(GTK_LABEL(label_passwd),"密码:");
    gtk_table_attach_defaults(GTK_TABLE(table),label_passwd,0,1,2,3);

    GtkWidget* label_yzm  = gtk_label_new("验证码:");

    gtk_label_set_markup(GTK_LABEL(label_yzm),"验证码:");
    gtk_table_attach_defaults(GTK_TABLE(table),label_yzm,0,1,3,4);

    gly_id = gtk_entry_new();
    gtk_table_attach_defaults(GTK_TABLE(table),gly_id,1,3,1,2);
    gly_passwd = gtk_entry_new();
    gtk_entry_set_visibility(GTK_ENTRY(gly_passwd),FALSE);
    gtk_table_attach_defaults(GTK_TABLE(table),gly_passwd,1,3,2,3);
    gly_yzm = gtk_entry_new();
    gtk_table_attach_defaults(GTK_TABLE(table),gly_yzm,1,3,3,4);

    label_gly_yzms = gtk_label_new("");

    char haha[4] = "";
    srand(time(NULL));
    int i = 0;
    for (i = 0; i < 4; ++i)
    {
        if(rand()%2 == 0)
            haha[i] = rand()%26+'a';
        else
            haha[i] = rand()%10+'0';
    }

    gtk_label_set_text(GTK_LABEL(label_gly_yzms),haha);
    char yzm[200] = "";
    sprintf(yzm,"%s",haha);
    gtk_label_set_markup(GTK_LABEL(label_gly_yzms),yzm);

    gtk_table_attach_defaults(GTK_TABLE(table),label_gly_yzms,3,4,3,4);

    GtkWidget* button_dl = gtk_button_new_with_label("登录");
    gtk_table_attach_defaults(GTK_TABLE(table),button_dl,0,1,4,5);

    GtkWidget* button_zc = gtk_button_new_with_label("注册");
    gtk_table_attach_defaults(GTK_TABLE(table),button_zc,1,2,4,5);

    GtkWidget* button_sx = gtk_button_new_with_label("刷新");
    gtk_table_attach_defaults(GTK_TABLE(table),button_sx,2,3,4,5);
    GtkWidget* button_fh = gtk_button_new_with_label("返回");
    gtk_table_attach_defaults(GTK_TABLE(table),button_fh,3,4,4,5);

    g_signal_connect(button_sx,"pressed",G_CALLBACK(window_gly_do_sx),NULL);
    g_signal_connect(button_fh,"pressed",G_CALLBACK(window_gly_to_rk),NULL);
    g_signal_connect(button_zc,"pressed",G_CALLBACK(window_gly_do_zc),NULL);
    g_signal_connect(button_dl,"pressed",G_CALLBACK(window_gly_do_dl),NULL);

}

void window_gly_cd_init(void)
{
    window_gly_cd = gtk_window_new(GTK_WINDOW_TOPLEVEL);
    gtk_widget_set_size_request(window_gly_cd,780,456);
    chang_background(window_gly_cd,780,456,"./4.jpg");
    GtkWidget* table = gtk_table_new(3,2,TRUE);
    gtk_container_add(GTK_CONTAINER(window_gly_cd),table);
    GtkWidget* label_title = gtk_label_new("管理员功能菜单");
gtk_label_set_markup(GTK_LABEL(label_title),"管理员功能菜单");

    gtk_table_attach_defaults(GTK_TABLE(table),label_title,0,2,0,1);

    GtkWidget* button_cx = gtk_button_new_with_label("查询用户");
    gtk_table_attach_defaults(GTK_TABLE(table),button_cx,0,1,1,2);
gtk_button_set_relief(GTK_BUTTON(button_cx),GTK_RELIEF_NONE);
    GtkWidget* button_zj = gtk_button_new_with_label("增加用户");
    gtk_table_attach_defaults(GTK_TABLE(table),button_zj,1,2,1,2);
gtk_button_set_relief(GTK_BUTTON(button_zj),GTK_RELIEF_NONE);
    GtkWidget* button_sc = gtk_button_new_with_label("删除用户");
    gtk_table_attach_defaults(GTK_TABLE(table),button_sc,0,1,2,3);
gtk_button_set_relief(GTK_BUTTON(button_sc),GTK_RELIEF_NONE);
    GtkWidget* button_xg = gtk_button_new_with_label("修改用户");
    gtk_table_attach_defaults(GTK_TABLE(table),button_xg,1,2,2,3);
gtk_button_set_relief(GTK_BUTTON(button_xg),GTK_RELIEF_NONE);
    GtkWidget* button_fh = gtk_button_new_with_label("返回");
    gtk_table_attach_defaults(GTK_TABLE(table),button_fh,1,2,0,1);
gtk_button_set_relief(GTK_BUTTON(button_fh),GTK_RELIEF_NONE);

    g_signal_connect(button_cx,"pressed",G_CALLBACK(gly_cd_to_gly_cx),NULL);
    g_signal_connect(button_zj,"pressed",G_CALLBACK(gly_cd_to_gly_zj),NULL);
    g_signal_connect(button_sc,"pressed",G_CALLBACK(gly_cd_to_gly_sc),NULL);
    g_signal_connect(button_xg,"pressed",G_CALLBACK(gly_cd_to_gly_xg),NULL);
    g_signal_connect(button_fh,"pressed",G_CALLBACK(gly_cd_to_gly),NULL);
}

void window_gly_sc_init(void)
{
    window_gly_sc = gtk_window_new(GTK_WINDOW_TOPLEVEL);
    gtk_widget_set_size_request(window_gly_sc,958,539);
    chang_background(window_gly_sc, 958,539,"./2.png");
    GtkWidget* table = gtk_table_new(3,3,TRUE);
    gtk_container_add(GTK_CONTAINER(window_gly_sc),table);
    GtkWidget* label_title = gtk_label_new("删除用户界面");
    gtk_table_attach_defaults(GTK_TABLE(table),label_title,0,3,0,1);

    GtkWidget* label_user_xm = gtk_label_new("要删除的账号id:");
    gtk_table_attach_defaults(GTK_TABLE(table),label_user_xm,0,2,1,2);

    GtkWidget* button_fh = gtk_button_new_with_label("返回");
    gtk_button_set_relief(GTK_BUTTON(button_fh),GTK_RELIEF_NONE);
    gtk_table_attach_defaults(GTK_TABLE(table),button_fh,2,3,0,1);

    GtkWidget* button_qrsc = gtk_button_new_with_label("确认删除");
    gtk_button_set_relief(GTK_BUTTON(button_qrsc),GTK_RELIEF_NONE);
    gtk_table_attach_defaults(GTK_TABLE(table),button_qrsc,1,2,2,3);

    label_gly_sc_id=gtk_entry_new();
    gtk_table_attach_defaults(GTK_TABLE(table),label_gly_sc_id,2,3,1,2);

    g_signal_connect(button_fh,"pressed",G_CALLBACK(window_gly_sc_to_gly_cd),NULL);
    g_signal_connect(button_qrsc,"pressed",G_CALLBACK(window_gly_sc_do_gly_sc),NULL);

}

 void window_gly_zj_init(void)
 {
    window_gly_zj = gtk_window_new(GTK_WINDOW_TOPLEVEL);
    gtk_widget_set_size_request(window_gly_zj,958,539);
    chang_background(window_gly_zj, 958,539,"./2.png");
    GtkWidget* table = gtk_table_new(4,3,TRUE);
    gtk_container_add(GTK_CONTAINER(window_gly_zj),table);
    GtkWidget* label_title = gtk_label_new("增加用户界面");
    gtk_table_attach_defaults(GTK_TABLE(table),label_title,0,3,0,1);

    GtkWidget* label_user_xm = gtk_label_new("要增加的账号id:");
    gtk_table_attach_defaults(GTK_TABLE(table),label_user_xm,0,2,1,2);
    GtkWidget* label_user_mm = gtk_label_new("要增加的账号密码:");
    gtk_table_attach_defaults(GTK_TABLE(table),label_user_mm,0,2,2,3);

    GtkWidget* button_fh = gtk_button_new_with_label("返回");
    gtk_button_set_relief(GTK_BUTTON(button_fh),GTK_RELIEF_NONE);
    gtk_table_attach_defaults(GTK_TABLE(table),button_fh,2,3,0,1);

    GtkWidget* button_qrzj = gtk_button_new_with_label("确认增加");
    gtk_button_set_relief(GTK_BUTTON(button_qrzj),GTK_RELIEF_NONE);
    gtk_table_attach_defaults(GTK_TABLE(table),button_qrzj,1,2,3,4);

    label_gly_zj_id=gtk_entry_new();
    gtk_table_attach_defaults(GTK_TABLE(table),label_gly_zj_id,2,3,1,2);
    label_gly_zj_mm=gtk_entry_new();
    gtk_table_attach_defaults(GTK_TABLE(table),label_gly_zj_mm,2,3,2,3);

    g_signal_connect(button_fh,"pressed",G_CALLBACK(window_gly_zj_to_gly_cd),NULL);
    g_signal_connect(button_qrzj,"pressed",G_CALLBACK(window_gly_zj_do_gly_zj),NULL);

 }

void my_sql_init(void)
{

    sqlite3* db;

    char *sql = "create table user (xm text,mm text, changguan text,ye int);";
    sqlite3_open("qf.db",&db);
    char * errmsg = NULL;
    sqlite3_exec(db,sql,NULL,NULL,&errmsg);

    char *sql2 ="create table gly (xm text,mm text);";
    errmsg = NULL;
    sqlite3_exec(db,sql2,NULL,NULL,&errmsg);
    sqlite3_close(db);
}

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

    my_sql_init();
    gtk_init(&argc,&argv);

    window_main_init();
    window_rk_init();
    window_yh_init();
    window_yh_cd_init();
    window_yh_cz_init();
    window_yh_cx_init();
    window_user_xg_init();
    window_user_yu_init();

    window_gly_init();
    window_gly_cd_init();
    window_gly_cx_init();
    window_gly_xg_init();
    window_gly_sc_init();
    window_gly_zj_init();

    g_signal_connect(window_main,"destroy",G_CALLBACK(gtk_main_quit),NULL);
    gtk_widget_show_all(window_main);
    gtk_main();
    return 0;
}

Original: https://blog.csdn.net/qq_35629971/article/details/115412448
Author: Half-up
Title: 基于C+sqlite3+GTK的体育馆管理系统项目开发

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/817003/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球