如何在python中的动态快速列表(dbusMenuItems)中创建子菜单?
官方文档非常稀缺:https : //wiki.ubuntu.com/Unity/LauncherAPI
这是我的最小编码示例:dbus_snippet.py
#!/usr/bin/env python
from gi.repository import Unity, Gio, GObject, Dbusmenu
import os
import subprocess
launchers = []
qlList = []
#(not all references are links due to askubuntu's reputation-system)
#askubuntu "how-to-add-checkbox-or-radio-buttons-to-a-unity-quicklist"
#https://lazka.github.io/pgi-docs/Dbusmenu-0.4/classes/Menuitem.html#Dbusmenu.Menuitem
#(project that this research may go into)
#(github thirschbuechler/ubuntu-recentquicklists)
def check_item_activated_callback (menuitem, a, b):#for the submenu
if menuitem.property_get_int (Dbusmenu.MENUITEM_PROP_TOGGLE_STATE) == Dbusmenu.MENUITEM_TOGGLE_STATE_CHECKED:
menuitem.property_set_int (Dbusmenu.MENUITEM_PROP_TOGGLE_STATE, Dbusmenu.MENUITEM_TOGGLE_STATE_UNCHECKED)
else:
menuitem.property_set_int (Dbusmenu.MENUITEM_PROP_TOGGLE_STATE, Dbusmenu.MENUITEM_TOGGLE_STATE_CHECKED)
def check_item_activated(menuitem, a, arg):#main menu item
process = subprocess.Popen("gedit ",shell=True)
def createItem(name, arg, qlnummer):
item …Run Code Online (Sandbox Code Playgroud)