From dd10ab4fadb1d0daace4e6652e889ca28327e74a Mon Sep 17 00:00:00 2001 From: Tian jianyong <11429339@qq.com> Date: Sun, 28 Dec 2025 19:03:42 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E5=86=99=E9=9A=90=E8=97=8F=E5=85=89?= =?UTF-8?q?=E6=A0=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- face_rec.py | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/face_rec.py b/face_rec.py index 112226d..b6232e6 100644 --- a/face_rec.py +++ b/face_rec.py @@ -18,10 +18,44 @@ import queue from compreface import CompreFace from compreface.service import RecognitionService, DetectionService +# 隐藏鼠标光标(Linux/GDK) +def hide_cursor(): + """隐藏鼠标光标""" + try: + import ctypes + from ctypes import cdll + + libgdk = cdll.LoadLibrary('libgdk-3.so.0') + libgtk = cdll.LoadLibrary('libgtk-3.so.0') + + # 初始化 GTK + libgtk.gtk_init_none() + + # 获取默认显示 + display = libgdk.gdk_display_get_default() + + # 创建空白光标(GDK_BLANK_CURSOR = -2) + cursor = libgdk.gdk_cursor_new_for_display(display, -2) + + # 获取默认屏幕和根窗口 + screen = libgdk.gdk_display_get_default_screen(display) + root = libgdk.gdk_screen_get_root_window(screen) + + # 设置光标 + libgdk.gdk_window_set_cursor(root, cursor) + libgdk.gdk_display_flush(display) + + print("Cursor hidden via GDK") + except Exception as e: + print(f"Hide cursor error: {e}") + class FaceRecognitionSystem: def __init__(self, config_path: str = "config.yaml"): """初始化人脸识别系统""" + # 先隐藏鼠标光标(在任何窗口创建之前) + hide_cursor() + # 加载配置 with open(config_path, 'r', encoding='utf-8') as f: self.config = yaml.safe_load(f)