基于C语言+gtk+sqlite3的选课系统
-
前言
选课系统的开发,面向于客户与机构端,有效且全面的解决了传统的Excel的表格登记,直接面前与教师和学员,学生端 注册、登录、找回密码、选课、选座、充值和查看个人信息几个界面,教师端登录即可查看所带课程的学生信息及其对其更改。 -
项目需求
C语言 gtk/gtk sqlite3 -
部分代码`
主界面
void window_main_init(void)
{
//主界面Windows的创建
window_main = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_widget_set_size_request(window_main,980,500);
gtk_window_set_position(GTK_WINDOW(window_main),GTK_WIN_POS_CENTER_ALWAYS);
chang_background(window_main, 980, 500, "../img/3.jpg"); // 设置窗口背景图
GtkWidget* table = gtk_table_new(2,2,TRUE);
gtk_container_add(GTK_CONTAINER(window_main),table);
GtkWidget* label_title = gtk_label_new("XXXX集团选课端");
set_widget_font_size(label_title, 50, FALSE);
gtk_table_attach_defaults(GTK_TABLE(table),label_title,0,2,0,1);
GtkWidget* button_ds = gtk_button_new_with_label("教师端");
set_widget_font_size(button_ds, 29, TRUE);
gtk_button_set_relief(GTK_BUTTON(button_ds), GTK_RELIEF_NONE); // 按钮背景色透明
gtk_table_attach_defaults(GTK_TABLE(table),button_ds,0,1,1,2);
GtkWidget* button_user = gtk_button_new_with_label("学生端");
gtk_button_set_relief(GTK_BUTTON(button_user), GTK_RELIEF_NONE); // 按钮背景色透明
set_widget_font_size(button_user, 29, TRUE);
gtk_table_attach_defaults(GTK_TABLE(table),button_user,1,2,1,2);
g_signal_connect(button_user,"pressed",G_CALLBACK(main_to_dl),NULL);
g_signal_connect(button_ds,"pressed",G_CALLBACK(window_main_to_ds_dl),NULL);
g_signal_connect(button_user,"pressed",G_CALLBACK(anniu),NULL); //按钮声音
g_signal_connect(button_ds,"pressed",G_CALLBACK(anniu),NULL);//按钮声音
}
1.学生端登录界面
void window_user_dl_init(void)
{
window_user_dl = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_position(GTK_WINDOW(window_user_dl),GTK_WIN_POS_CENTER_ALWAYS);
gtk_widget_set_size_request(window_user_dl,980,500);
chang_background(window_user_dl, 980, 500, "../img/3.jpg"); // 设置窗口背景图
GtkWidget* table = gtk_table_new(4,3,TRUE);
gtk_container_add(GTK_CONTAINER(window_user_dl),table);
GtkWidget* label_title = gtk_label_new("XXXX集团选课端");
set_widget_font_size(label_title, 25, FALSE);
gtk_table_attach_defaults(GTK_TABLE(table),label_title,1,2,0,1);
GtkWidget* label_dh = gtk_label_new("电话:");
gtk_table_attach_defaults(GTK_TABLE(table),label_dh,0,1,1,2);
GtkWidget* label_mm = gtk_label_new("密码:");
gtk_table_attach_defaults(GTK_TABLE(table),label_mm,0,1,2,3);
entry_user_dl_dh = gtk_entry_new();
gtk_table_attach_defaults(GTK_TABLE(table),entry_user_dl_dh,1,2,1,2);
entry_user_dl_mm = gtk_entry_new();
gtk_table_attach_defaults(GTK_TABLE(table),entry_user_dl_mm,1,2,2,3);
gtk_entry_set_visibility(GTK_ENTRY(entry_user_dl_mm),FALSE);
GtkWidget* button_dl = gtk_button_new_with_label("登录");
gtk_button_set_relief(GTK_BUTTON(button_dl), GTK_RELIEF_NONE); // 按钮背景色透明
gtk_table_attach_defaults(GTK_TABLE(table),button_dl,0,1,3,4);
GtkWidget* button_zc = gtk_button_new_with_label("注册");
gtk_button_set_relief(GTK_BUTTON(button_zc), GTK_RELIEF_NONE); // 按钮背景色透明
gtk_table_attach_defaults(GTK_TABLE(table),button_zc,1,2,3,4);
GtkWidget* button_wjmm = gtk_button_new_with_label("忘记密码");
gtk_button_set_relief(GTK_BUTTON(button_wjmm), GTK_RELIEF_NONE); // 按钮背景色透明
gtk_table_attach_defaults(GTK_TABLE(table),button_wjmm,2,3,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,2,3,0,1);
g_signal_connect(button_zc,"pressed",G_CALLBACK(window_dl_to_zc),NULL);
g_signal_connect(button_fh,"pressed",G_CALLBACK(window_dl_to_main),NULL);
g_signal_connect(button_dl,"pressed",G_CALLBACK(user_do_dl),NULL);
g_signal_connect(button_wjmm,"pressed",G_CALLBACK(window_dl_to_wjmm),NULL);
g_signal_connect(button_zc,"pressed",G_CALLBACK(anniu),NULL);//按钮声音
g_signal_connect(button_fh,"pressed",G_CALLBACK(anniu),NULL);//按钮声音
g_signal_connect(button_dl,"pressed",G_CALLBACK(anniu),NULL);//按钮声音
g_signal_connect(button_wjmm,"pressed",G_CALLBACK(anniu),NULL);//按钮声音
}
- 充值界面
void window_user_cz_init(void)
{
window_user_cz = gtk_window_new(GTK_WINDOW_TOPLEVEL);
chang_background(window_user_cz, 980, 500, "../img/3.jpg"); // 设置窗口背景图
gtk_window_set_position(GTK_WINDOW(window_user_cz),GTK_WIN_POS_CENTER_ALWAYS);
gtk_widget_set_size_request(window_user_cz,980,500);
GtkWidget* table = gtk_table_new(4,5,TRUE);
gtk_container_add(