Python 有没有办法用PyGTK AppIndicator检测鼠标点击
我有一个简单的Python代码,它用from创建了一个Linux托盘指示器。那很好。但我想检测和处理一个简单的用户点击或双击这个托盘图标 据我所知,例如,Telegram Qt类,它支持此功能,因为当用户双击托盘图标时,Telegram窗口会自动显示Python 有没有办法用PyGTK AppIndicator检测鼠标点击,python,linux,gtk,pygtk,appindicator,Python,Linux,Gtk,Pygtk,Appindicator,我有一个简单的Python代码,它用from创建了一个Linux托盘指示器。那很好。但我想检测和处理一个简单的用户点击或双击这个托盘图标 据我所知,例如,Telegram Qt类,它支持此功能,因为当用户双击托盘图标时,Telegram窗口会自动显示 我知道AppIndicator3支持当用户将鼠标滚轮滚动到托盘图标上时触发的信号 当接收到滚动事件时发出信号 还有一个方法指示以某种方式处理了鼠标中键单击事件 将menuitem设置为在发生二次激活事件时激活 (即,单击鼠标中键)将在 图标
- 我知道AppIndicator3支持当用户将鼠标滚轮滚动到托盘图标上时触发的信号
- 还有一个方法指示以某种方式处理了鼠标中键单击事件
menuitem
设置为在发生二次激活事件时激活
(即,单击鼠标中键)将在
图标/标签
有人知道它是如何工作的吗?前面的两个例子都让我想知道为什么没有简单的鼠标点击信号/事件。我在想,是否有可能更深入,也许继承类并重写一些事件处理?或者,如果AppIndicator实现的是什么,也许可以更深入地研究和方法
还是有什么棘手的解决办法?因为这似乎是一个十多年来一直没有答案的问题,我对“不可能”的答案并不满意
我也知道我不是第一个问这个问题的人。我做了一些小调查,发现了多个相关的线索:
AppIndicator的感知限制是经过深思熟虑的设计选择(参见背景信息) 收听鼠标点击事件将无效 使用AppIndicator,您可以进行以下交互:
- 主要操作:显示上下文菜单(可能只包含常规菜单项,不能放置任意小部件)
- 次要操作:激活此上下文菜单中的一个特定项(通常在桌面上单击鼠标中键)
- 收听图标上的鼠标滚动事件