首页 星云 工具 资源 星选 资讯 热门工具
:

PDF转图片 完全免费 小红书视频下载 无水印 抖音视频下载 无水印 数字星空

gtk3 + sqlite3实现登录注册功能(前后端分离)完整源码

操作系统 339.37KB 8 需要积分: 1
立即下载

资源介绍:

gtk3实现的登录和注册可视化窗口
/** ****************************************************************************** * @file : gtk_window.c * @author : niuniu * @brief : gtk界面设计 * @attention : None * @date : 2024/8/15 ****************************************************************************** */ #include #include "gtk_window.h" GtkWidget *main_window; GtkWidget *login_window; GtkWidget *register_window; GtkWidget *function_window; GtkWidget* login_entry_id; GtkWidget* register_entry_id; GtkWidget* login_yzm; GtkWidget* login_entry_paswd; GtkWidget* login_entry_yzm; GtkWidget* register_yzm; GtkWidget* register_entry_id; GtkWidget* register_entry_paswd; GtkWidget* register_entry_name; GtkWidget* register_entry_level; GtkWidget* register_entry_yzm; void main_window_to_login_window(GtkButton* btn, gpointer user_data); void main_window_to_register_window(GtkButton* btn, gpointer user_data); void login_window_to_register_window(GtkButton* btn, gpointer user_data); void register_window_to_login_window(GtkButton* btn, gpointer user_data); void login_window_to_function_window(GtkButton* btn, gpointer user_data); void window_init() { main_window_init(); login_window_init(); register_window_init(); } //----------------------------------------------------------------------------------------- // -------》》》》》》》》》》* ui设计 *《《《《《《《《《《《《《《《《《《《---------------------- //----------------------------------------------------------------------------------------- // 初始化主窗口 void main_window_init() { GtkWidget *overlay; // Overlay 容器,用于叠加控件 GtkWidget *grid; // 网格布局,用于布局按钮和标题 GtkWidget *login_button; // 登录按钮 GtkWidget *register_button; // 注册按钮 GtkWidget *background_image; // 背景图片 GtkWidget *main_title; // 主标题 // 创建主窗口并设置标题 main_window = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_title(GTK_WINDOW(main_window), "管理员界面"); // 设置窗口标题为“管理员界面” gtk_window_set_default_size(GTK_WINDOW(main_window), 1024, 600); // 设置窗口默认大小为 1024x600 // 设置窗口在屏幕中央显示 gtk_window_set_position(GTK_WINDOW(main_window), GTK_WIN_POS_CENTER); // 创建 Overlay 容器 overlay = gtk_overlay_new(); // 创建一个 Overlay 容器,用于在窗口中叠加控件 gtk_container_add(GTK_CONTAINER(main_window), overlay); // 将 Overlay 容器添加到主窗口中 // 创建背景图片 background_image = gtk_image_new_from_file("background.jpg"); // 从文件加载背景图片 gtk_overlay_add_overlay(GTK_OVERLAY(overlay), background_image); // 将背景图片添加到 Overlay 中 gtk_widget_set_halign(background_image, GTK_ALIGN_FILL); // 设置背景图片水平填充 gtk_widget_set_valign(background_image, GTK_ALIGN_FILL); // 设置背景图片垂直填充 // 创建网格布局 grid = gtk_grid_new(); // 创建一个新的网格布局 gtk_grid_set_row_spacing(GTK_GRID(grid), 20); // 设置网格行间距为 20 像素 gtk_grid_set_column_spacing(GTK_GRID(grid), 30); // 设置网格列间距为 30 像素 gtk_container_set_border_width(GTK_CONTAINER(grid), 30); // 设置网格布局的边框宽度为 30 像素 // 创建标题并设置样式为橙色 main_title = gtk_label_new(NULL); // 创建一个空的标签控件 gtk_label_set_markup(GTK_LABEL(main_title), "森林火灾监控预警系统"); // 使用标记设置标签的字体大小和颜色 gtk_widget_set_halign(main_title, GTK_ALIGN_CENTER); // 设置标题标签水平居中 gtk_widget_set_size_request(main_title, 300, 100); // 设置标题的最小宽度为 300 像素,高度为 100 像素 gtk_grid_attach(GTK_GRID(grid), main_title, 0, 0, 3, 2); // 将标题标签添加到网格布局中,跨越 3 列和 2 行 // 创建登录按钮 login_button = gtk_button_new_with_label("登录"); // 创建一个带有“登录”文本的按钮 gtk_widget_set_size_request(login_button, 100, 40); // 设置登录按钮的最小宽度为 100 像素,高度为 40 像素 customize_button_style(login_button, "#00FFFF", 28, TRUE); // 自定义按钮样式,设置颜色和字体大小 gtk_grid_attach(GTK_GRID(grid), login_button, 0, 3, 1, 1); // 将登录按钮添加到网格布局的第 0 列,第 3 行 // 创建注册按钮 register_button = gtk_button_new_with_label("注册"); // 创建一个带有“注册”文本的按钮 customize_button_style(register_button, "#00FFFF", 28, TRUE); // 自定义按钮样式,设置颜色和字体大小 gtk_widget_set_size_request(register_button, 100, 40); // 设置注册按钮的最小宽度为 100 像素,高度为 40 像素 gtk_grid_attach(GTK_GRID(grid), register_button, 2, 3, 1, 1); // 将注册按钮添加到网格布局的第 2 列,第 3 行 // 将网格布局添加到 Overlay 容器中 gtk_overlay_add_overlay(GTK_OVERLAY(overlay), grid); // 将网格布局添加到 Overlay 中 gtk_widget_set_halign(grid, GTK_ALIGN_CENTER); // 设置网格布局水平居中 gtk_widget_set_valign(grid, GTK_ALIGN_CENTER); // 设置网格布局垂直居中 // 连接信号 g_signal_connect(main_window, "destroy", G_CALLBACK(gtk_main_quit), NULL); // 当窗口关闭时退出 GTK 主循环 g_signal_connect(login_button, "clicked", G_CALLBACK(main_window_to_login_window), NULL); // 当点击登录按钮时,切换到登录窗口 g_signal_connect(register_button, "clicked", G_CALLBACK(main_window_to_register_window), NULL); // 当点击注册按钮时,切换到注册窗口 } // 初始化登录窗口 void login_window_init() { GtkWidget *overlay; // Overlay 容器,用于叠加控件 GtkWidget *grid; // 网格布局,用于布局控件 GtkWidget *login_id_label; // 账号标签 GtkWidget *login_paswd_label; // 密码标签 GtkWidget *login_title; // 登录界面标题 GtkWidget *login_ok_button; // 登录按钮 GtkWidget *login_to_register_button; // 注册按钮 GtkWidget *background_image; // 背景图片 // 创建登录窗口并设置标题 login_window = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_title(GTK_WINDOW(login_window), "监控预警系统——管理员"); // 设置窗口标题为“监控预警系统——管理员” gtk_window_set_default_size(GTK_WINDOW(login_window), 1024, 600); // 设置窗口默认大小为 1024x600 // 设置窗口在屏幕中央显示 gtk_window_set_position(GTK_WINDOW(login_window), GTK_WIN_POS_CENTER); // 设置窗口可调整大小 gtk_window_set_resizable(GTK_WINDOW(main_window), TRUE); // 允许用户调整窗口大小 // 创建 Overlay 容器 overlay = gtk_overlay_new(); // 创建一个 Overlay 容器,用于在窗口中叠加控件 gtk_container_add(GTK_CONTAINER(login_window), overlay); // 将 Overlay 容器添加到登录窗口中 // 创建背景图片 background_image = gtk_image_new_from_file("background.jpg"); // 从文件加载背景图片 gtk_overlay_add_overlay(GTK_OVERLAY(overlay), background_image); // 将背景图片添加到 Overlay 中 gtk_widget_set_halign(background_image, GTK_ALIGN_FILL); // 设置背景图片水平填充 gtk_widget_set_valign(background_image, GTK_ALIGN_FILL); // 设置背景图片垂直填充 gtk_widget_set_hexpand(background_image, TRUE); // 使背景图片水平扩展以填满窗口 gtk_widget_set_vexpa

资源文件列表:

gtk3_ui.zip 大约有22个文件
  1. gtk3_ui/.idea/
  2. gtk3_ui/.idea/.gitignore 190B
  3. gtk3_ui/.idea/misc.xml 654B
  4. gtk3_ui/.idea/workspace.xml 4.08KB
  5. gtk3_ui/background.jpg 307.32KB
  6. gtk3_ui/beautify.c 3.73KB
  7. gtk3_ui/beautify.h 1022B
  8. gtk3_ui/beautify.o 4.18KB
  9. gtk3_ui/gtk_window.c 20KB
  10. gtk3_ui/gtk_window.h 1.77KB
  11. gtk3_ui/gtk_window.o 18.46KB
  12. gtk3_ui/main 32.62KB
  13. gtk3_ui/main.c 792B
  14. gtk3_ui/main.o 1.55KB
  15. gtk3_ui/Makefile 887B
  16. gtk3_ui/rear_end.c 11.2KB
  17. gtk3_ui/rear_end.h 1.01KB
  18. gtk3_ui/rear_end.o 13.11KB
  19. gtk3_ui/sqlite_init.c 1.13KB
  20. gtk3_ui/sqlite_init.h 548B
  21. gtk3_ui/sqlite_init.o 2.13KB
  22. gtk3_ui/user.db 8KB
0评论
提交 加载更多评论
其他资源 chnsenticorp.zip
chnsenticorp.zip
Swing (三原色)调色板(打包后)
包含两个文件:1.8版本的 jre 及该项目的 .exe文件
MobaXterm Pro v23.0中文便携版
MobaXterm Pro v23.0中文便携版
qt多平台使用libexif库,查看图片f编译好的库,支持win64, linux-aarch64, linux-x64
qt多平台使用libexif库,查看图片f编译好的库,支持win64, linux-aarch64, linux-x64
ruoyi-springcloud-quartz
若依微服务项目中的quartz模块包
3333333333333333333333333333333333
3333333333333333333333
“gtk3管理端+tcp线程多并发后台+客户端”源码
tcp服务器和客户端之间实现多线程通信。gtk3管理端部署在服务器上,从sqlite3数据库获取数据实现可视化
Argyll-V3.2.0-win32-exe
DisplayCAL给显示器校色,安装DisplayCAL软件后最新安装ArgyllCMS色彩引擎文件,win32