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

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

1. GTK选择管理概述

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

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

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

2. 检索选择

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


                
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值