博客
关于我
基于C+sqlite3+GTK的体育馆管理系统项目开发
阅读量:772 次
发布时间:2019-03-24

本文共 5687 字,大约阅读时间需要 18 分钟。

zzuli体育馆管理系统
  
#include "sqlite3.h"
#include
#include
#include
#include
#include
#include
  
sqlite3* db = NULL;
GtkWidget* window_main;
GtkWidget* window_rk;
GtkWidget* window_yh;
GtkWidget* window_yh_cd;
GtkWidget* window_yh_cz;
GtkWidget* window_yh_cx;
GtkWidget* window_user_xg;
GtkWidget* window_yh_yu;
GtkWidget* window_gly;
GtkWidget* window_gly_cd;
GtkWidget* window_gly_cx;
GtkWidget* window_gly_xg;
GtkWidget* window_gly_sc;
GtkWidget* window_gly_zj;
GtkWidget* yh_id;
GtkWidget* yh_passwd;
GtkWidget* yh_yzm;
GtkWidget* yh_ye;
GtkWidget* yh_changguan;
GtkWidget* label_user_xm;
GtkWidget* label_user_passwd;
GtkWidget* label_user_ye;
GtkWidget* label_user_changguan;
GtkWidget* label_gly_cx_id;
GtkWidget* label_gly_sc_id;
GtkWidget* label_user_xg_id;
GtkWidget* label_user_xg_xm;
GtkWidget* label_user_xg_passwd;
GtkWidget* label_gly_zj_id;
GtkWidget* label_gly_zj_mm;
GtkWidget* label_user_yzm;
GtkWidget* label_yh_yzms;
GtkWidget* label_gly_yzms;
  
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);
}
//其他返回函数...
  
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_yh_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;
}

系统功能概述

该系统通过GTK框架搭建一个综合性的管理系统,包括用户和管理员两种用户类型。
用户端主要功能包括登录注册、个人信息修改、余额充值、场馆预约等。
管理员端功能更为全面,涵盖用户管理、权限分配、系统维护等功能。

数据库初始化

  
void my_sql_init(void) {
sqlite3* db;
sqlite3_open("qf.db", &db);
//创建用户表
char* sql = "create table user (xm text, mm text, changguan text, ye int);";
sqlite3_exec(db, sql, NULL, NULL, &errmsg);
//创建管理员表
char* sql2 = "create table gly (xm text, mm text);";
sqlite3_exec(db, sql2, NULL, NULL, &errmsg);
sqlite3_close(db);
}

用户功能模块

用户端界面分为登录界面、功能菜单、个人信息修改、充值功能等模块。
充值功能支持金额输入和余额更新,预约功能可选择场馆并确认预约。
个人信息修改功能支持账号修改及其他相关信息更新。

管理员功能模块

管理员端功能更加全面,包括查询用户信息、修改用户信息、删除用户、增加用户等操作。
管理员权限较高,需通过登录确认登录状态后才能访问各项功能模块。

系统优化区

  
static void set_widget_font_size(GtkWidget* widget, int size, gboolean is_button) {
PangoFontDescription* font = pango_font_description_from_string("Sans");
pango_font_description_set_size(font, size * PANGO_SCALE);
if (is_button) {
GtkWidget* labelChild = gtk_bin_get_child(GTK_BIN(widget));
} else {
GtkWidget* 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 = gdk_pixbuf_render_pixmap_and_mask(dst_pixbuf, 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);
}

转载地址:http://vqskk.baihongyu.com/

你可能感兴趣的文章
Nginx 中解决跨域问题
查看>>
Nginx 动静分离与负载均衡的实现
查看>>
Nginx 反向代理 MinIO 及 ruoyi-vue-pro 配置 MinIO 详解
查看>>
nginx 反向代理 转发请求时,有时好有时没反应,产生原因及解决
查看>>
Nginx 反向代理解决跨域问题
查看>>
Nginx 反向代理配置去除前缀
查看>>
nginx 后端获取真实ip
查看>>
Nginx 学习总结(16)—— 动静分离、压缩、缓存、黑白名单、性能等内容温习
查看>>
Nginx 学习总结(17)—— 8 个免费开源 Nginx 管理系统,轻松管理 Nginx 站点配置
查看>>
Nginx 常用配置清单
查看>>
nginx 常用配置记录
查看>>
Nginx 我们必须知道的那些事
查看>>
Nginx 的 proxy_pass 使用简介
查看>>
Nginx 的配置文件中的 keepalive 介绍
查看>>
Nginx 负载均衡与权重配置解析
查看>>
Nginx 负载均衡详解
查看>>
nginx 配置 单页面应用的解决方案
查看>>
nginx 配置https(一)—— 自签名证书
查看>>
nginx 配置~~~本身就是一个静态资源的服务器
查看>>
Nginx 配置解析:从基础到高级应用指南
查看>>