news 2026/10/12 5:31:36

GTK4 输入事件

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
GTK4 输入事件

0 前言

输入是GTK+3迁移到GTK4时断裂最大的领域:挂在控件上的事件信号(key-press-event、button-press-event)连同事件掩码机制被整体删除,替代者是EventController与Gesture两套体系。老GTK程序员的第一反应往往是“我连个键盘事件都收不到了”——不是收不到,是收的方式整个换了。

断裂不止在事件。窗口自己在屏幕上的位置(gtk_window_get_position())也被删了——与《GTK4截图工具》里“屏幕像素收归合成器”是同一个逻辑:合成器收走了像素,也收走了坐标。本文沿“坐标没了→事件体系换了→手势怎么竞争→实战整合”四步展开,实战篇落地两个程序:手势画板集齐Drag、Click、Scroll、LongPress、Key与Shortcut六件套,贪吃蛇演示键盘加滑动的双输入。

验证环境:Ubuntu 26.04 LTS

1 窗口定位为什么没了

1.1 被删除的不止两个函数

GTK+3时代查询“窗口在屏幕的哪里”有一整套API,GTK4的删除相当彻底:

表1.1GTK+3定位API在GTK4的结局

GTK+3 APIGTK4的结局
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/12 5:29:55

Codex多场景自动化生产实战:从Prompt设计到批量编排

1. 先想清楚:Codex到底在帮我们“生产”什么“闪学it-Codex 多场景自动化生产实战”,这个标题拆开看,其实藏着两个关键信息。一个是“多场景”,说明不是写单个脚本、做单个功能演示,而是要把Codex横着切开,…

作者头像 李华
网站建设 2026/10/12 5:29:26

用Claude Haiku 5.5做子智能体路由,Agent成本直降60%

做了半年多Agent应用,我最大的感受就一个:能力没输过,账单没赢过。不管给客户演示多聪明的Agent,只要一聊到生产环境的token成本,气氛立刻冷下来。直到我把Claude Haiku 5.5拉进系统做子智能体路由,事情才发…

作者头像 李华
网站建设 2026/10/12 5:28:59

Windows socket 单线程监听多端口:WSAEventSelect 事件驱动原理与实现

简介:针对Windows平台上C网络编程中常见的多端口监听需求,这份代码提供了一种基于输入输出完成端口(IOCP)的单线程实现方案,适合需要构建高并发网络服务、尽量减少线程切换开销的开发者参考。压缩包内共包含两个文件&a…

作者头像 李华
网站建设 2026/10/12 5:28:42

丁基再生胶能否用于密封条生产?配方、性能与成本深度解析

干了这么多年橡胶制品,最常被问到一个问题:丁基再生胶到底能不能用在密封条生产里?问这个问题的人,多半是老板或者采购,手里捏着一袋丁基再生胶样品,心里想着的是降本。答案其实没那么简单,不是…

作者头像 李华
网站建设 2026/10/12 5:28:39

具身智能创新原理(122):突触弹性保护与动态技能树融合机制研究

前沿技术探索:TVA智能体(简称TVA) TVA智能体(亦称“AI智能体视觉”)是依托Transformer架构与“因式智能体”理论构建的新型工业视觉系统,也是当前最具代表性的具身视觉技术之一。它有机融合深度强化学习(DRL)、卷积神经网络(CNN)与因式分解算法(FRA),构成了具身智…

作者头像 李华