news 2026/2/3 3:19:16

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/1/29 12:25:54

16、深入探讨GTK编程:从实用函数到自定义组件

深入探讨GTK编程:从实用函数到自定义组件 1. glib实用与错误处理函数 在GTK开发中,glib提供了一系列实用与错误处理函数,这些函数在日常编程中发挥着重要作用。 - g_strdup :这是 strdup 函数的替代方案,它将原字符串内容复制到新分配的内存中,并返回指向该内存…

作者头像 李华
网站建设 2026/1/29 13:05:06

3000亿参数异构MoE架构落地:ERNIE 4.5如何重塑AI行业效率标准

3000亿参数异构MoE架构落地:ERNIE 4.5如何重塑AI行业效率标准 【免费下载链接】ERNIE-4.5-300B-A47B-PT 项目地址: https://ai.gitcode.com/hf_mirrors/baidu/ERNIE-4.5-300B-A47B-PT 导语 百度ERNIE 4.5系列开源模型凭借3000亿参数异构混合专家&#xff0…

作者头像 李华
网站建设 2026/1/29 13:08:41

终极指南:快速解决Typst列表符号显示异常的3个实用技巧

终极指南:快速解决Typst列表符号显示异常的3个实用技巧 【免费下载链接】typst A new markup-based typesetting system that is powerful and easy to learn. 项目地址: https://gitcode.com/GitHub_Trending/ty/typst 列表符号显示异常是Typst用户经常遇到…

作者头像 李华
网站建设 2026/1/29 7:31:03

完整企业级React组件库快速开发终极指南

完整企业级React组件库快速开发终极指南 【免费下载链接】next 🦍 A configurable component library for web built on React. 项目地址: https://gitcode.com/gh_mirrors/ne/next 你是否正在寻找一个既能保证设计一致性又能提升开发效率的React组件解决方…

作者头像 李华
网站建设 2026/1/30 23:00:27

17、Samba与BIND:文件共享与域名服务配置指南

Samba与BIND:文件共享与域名服务配置指南 Samba文件共享配置 Samba在跨平台网络服务中,隐藏文件和文件夹的功能非常强大,能避免许多问题。我们可以将此功能扩展到任何需要特定需求的共享文件夹。 隐藏特定模式文件 若要仅在主文件夹中隐藏选定的模式文件,可使用以下模板…

作者头像 李华