我开始为 Gnome 编写一个小面板小程序,我希望用户能够左键单击状态图标以查看一些选项和信息,例如类似于 Gnome 3 中的声音图标,您可以通过左键单击设置音量,通过右键单击设置首选项。右键代码是这样的:
statusicon.connect("popup-menu", right_button_click)
其中 right_button_click
是在右键单击事件上调用的函数的名称。重要的部分是"popup-menu"
.设置左键单击事件的替代方法是什么?
这是展示其工作原理的小示例。
#!/usr/bin/python3
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
class TrayIcon(Gtk.StatusIcon):
def __init__(self):
Gtk.StatusIcon.__init__(self)
self.set_from_icon_name('help-about')
self.set_has_tooltip(True)
self.set_visible(True)
self.connect("popup_menu", self.on_secondary_click)
def on_secondary_click(self, widget, button, time):
menu = Gtk.Menu()
menu_item1 = Gtk.MenuItem("First Entry")
menu.append(menu_item1)
menu_item2 = Gtk.MenuItem("Quit")
menu.append(menu_item2)
menu_item2.connect("activate", Gtk.main_quit)
menu.show_all()
menu.popup(None, None, None, self, 3, time)
if __name__ == '__main__':
tray = TrayIcon()
Gtk.main()
我是一名优秀的程序员,十分优秀!