news 2026/6/23 18:21:46

15、GTK选择管理与GLib库使用指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
15、GTK选择管理与GLib库使用指南

GTK选择管理与GLib库使用指南

1. GTK选择管理概述

GTK支持的一种进程间通信方式是选择(selections)。选择用于标识用户以某种方式(如鼠标拖动)选择的一块数据,例如一段文本。在一个显示器上,同一时间只有一个应用程序(所有者)可以拥有特定的选择。当一个应用程序声明了某个选择时,前一个所有者必须向用户表明该选择已被释放。其他应用程序可以以不同形式(称为目标,targets)请求选择的内容。虽然可以有任意数量的选择,但大多数X应用程序通常只处理一个,即主选择(primary selection)。

在大多数情况下,GTK应用程序无需自行处理选择。像Entry这样的标准小部件已经具备在适当的时候声明选择(如用户拖动文本时)以及检索其他小部件或应用程序拥有的选择内容(如用户点击鼠标中键时)的能力。不过,有时你可能希望赋予其他小部件提供选择的能力,或者检索默认不支持的目标。

理解选择处理的一个基本概念是原子(atom)。原子是一个整数,它在特定显示器上唯一标识一个字符串。X服务器预定义了某些原子,在某些情况下,gtk.h中有与这些原子对应的常量。例如,常量GDK_PRIMARY_SELECTION对应字符串 ”PRIMARY”。在其他情况下,你可以使用gdk_atom_intern()函数获取与字符串对应的原子,使用gdk_atom_name()函数获取原子的名称。选择和目标都通过原子来标识。

2. 检索选择

检索选择是一个异步过程。要启动该过程,你需要调用以下函数:

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

UniHacker强力解锁:获取Unity开发全版本免费使用权限

UniHacker强力解锁:获取Unity开发全版本免费使用权限 【免费下载链接】UniHacker 为Windows、MacOS、Linux和Docker修补所有版本的Unity3D和UnityHub 项目地址: https://gitcode.com/GitHub_Trending/un/UniHacker 还在为Unity许可证问题而烦恼吗&#xff1f…

作者头像 李华
网站建设 2026/6/23 12:55:12

ESP32自定义唤醒词终极指南:打造你的专属语音助手

ESP32自定义唤醒词终极指南:打造你的专属语音助手 【免费下载链接】xiaozhi-esp32 Build your own AI friend 项目地址: https://gitcode.com/GitHub_Trending/xia/xiaozhi-esp32 还在为千篇一律的语音唤醒词而烦恼吗?xiaozhi-esp32项目为你提供了…

作者头像 李华
网站建设 2026/6/23 20:26:33

21、数据库与邮件服务配置指南

数据库与邮件服务配置指南 1. 安装 PostgreSQL、添加用户并创建首个数据库 1.1 准备工作 要完成此操作,你需要具备以下条件: - 以 root 权限运行的 CentOS 6 操作系统。 - 选择的基于控制台的文本编辑器。 - 互联网连接,以便下载额外的软件包。 - 服务器使用静态 IP …

作者头像 李华
网站建设 2026/6/23 15:21:44

90亿参数挑战720亿!GLM-4.1V-Thinking改写多模态推理规则

90亿参数挑战720亿!GLM-4.1V-Thinking改写多模态推理规则 【免费下载链接】GLM-4.1V-9B-Thinking 项目地址: https://ai.gitcode.com/zai-org/GLM-4.1V-9B-Thinking 导语 智谱AI推出的90亿参数多模态模型GLM-4.1V-9B-Thinking,在18项基准测试中…

作者头像 李华
网站建设 2026/6/23 18:14:37

15、深入探究Bash中的流程控制

深入探究Bash中的流程控制 1. 流程控制概述 对于程序员而言,在了解到Bash具备高级编程能力后,可能会好奇其常规语言特性的体现,其中流程控制结构(如 if 、 for 、 while 等)尤为引人注目。流程控制赋予程序员根据变量值、命令执行结果等条件,指定程序特定部分执行…

作者头像 李华
网站建设 2026/6/23 3:07:01

16、深入探索Shell脚本中的条件判断与循环结构

深入探索Shell脚本中的条件判断与循环结构 在Shell脚本编程中,条件判断和循环结构是非常重要的部分,它们可以帮助我们根据不同的情况执行不同的操作,以及重复执行特定的代码块。下面我们将详细介绍相关内容。 图形文件转换脚本及问题分析 在处理图形文件时,我们可以编写…

作者头像 李华