J'ai cherché comment y arriver mais je ne le trouve nulle part. J'ai même deviné comment activer/désactiver l'élément de la liste rapide, afin d'ajouter une fonction invoquée après avoir cliqué sur l'élément, mais c'est tout. Des idées ?
Je souhaite créer une liste rapide pour mon application qui consistera en des cases à cocher ou des boutons radio. J'ai trouvé des informations sur la façon d'ajouter des éléments sans action associée à la liste rapide (tutoriel) mais c'est tout ce que j'ai trouvé, il n'y a aucune information sur la façon d'ajouter d'autres types d'éléments (cases à cocher, boutons radio, séparateurs horizontaux ou élément avec action associée) qui sont mentionnés là.
J'essaie d'obtenir quelque chose comme ça.
Réponse acceptée :
Je ne sais pas si c'est correct, mais j'utilise quelque chose comme ça :
- case à cocher :
def check_item_activated_callback (menuitem, a, b):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)check1 =Dbusmenu.Menuitem.new ()check1.property_set (Dbusmenu.MENUITEM_PROP_LABEL, "Checkbox")check1.property_set (Dbusmenu.MENUITEM_PROP_TOGGLE_TYPE, Dbusmenu.MENUITEM_TOGGLE_CHECK)check1.property_set_int (Dbusmenu.MENUITEM_PROP_TOGGLE_STATE, Dbusmenu.MENUITEM_TOGGLE_STATE_CHECKED)check1 .property_set_bool (Dbusmenu.MENUITEM_PROP_VISIBLE, True)check1.connect (Dbusmenu.MENUITEM_SIGNAL_ITEM_ACTIVATED, check_item_activated_callback, Aucun)qucklist.child_append (check1)
- boutons radio :
def radio_item_activated_callback (radioitem1, a, radioitem2):radioitem1.property_set_int (Dbusmenu.MENUITEM_PROP_TOGGLE_STATE, Dbusmenu.MENUITEM_TOGGLE_STATE_CHECKED) radioitem2.property_set_int (Dbusmenu.MENUITEM_PROP_TOGGLE_STATE, Dbusmenu.MENUITEM_TOGGLE_STATE_UNCHECKED)radio1 =Dbusmenu.Menuitem.new ()radio1.property_set ( Dbusmenu.MENUITEM_PROP_LABEL, "Radio Button 1")radio1.property_set (Dbusmenu.MENUITEM_PROP_TOGGLE_TYPE, Dbusmenu.MENUITEM_TOGGLE_RADIO)radio1.property_set_int (Dbusmenu.MENUITEM_PROP_TOGGLE_STATE, Dbusmenu.MENUITEM_TOGGLE_STATE_UNCHECKED)radio1.property_set_bool (Dbusmenu.MENUITEM_PROP_VISIBLE, True)quicklist.child_append (radio1) radio2 =Dbusmenu.Menuitem.new()radio2.property_set (Dbusmenu.MENUITEM_PROP_LABEL, "Bouton radio 2")radio2.property_set (Dbusmenu.MENUITEM_PROP_TOGGLE_TYPE, Dbusmenu.MENUITEM_TOGGLE_RADIO)radio2.property_set_int (Dbusmenu.MENUITEM_PROP_TOGGLE_STATE, Dbusmenu.MENUITEM_PROP_TOGGLE_STATE, Dbusmenu.MENUITEM_PROP_TOGGLE_STATE, Dbusmenu.MENUITEM_PROP_TOGGLE_STATE, Dbusmenu.MENUITEM_PROP_TOGGLE_STATE, Dbusmenu.MENUITEM_PROP_TOGGLE_STATE, Dbusmenu.MENUITEM_PROP_TOGGLE_STATE, Dbusmenu.MENUITEM_PROP_TOGGLE_STATE, Dbusmenu.MENUITEM_PROP_TOGGLE_STATE, Dbusmenu.MENUITEM_PROP_TOGGLE_STATE, Dbusmenu.MENUITEM_PROP_TOGGLE_STATE, (Dbusmenu.MEN UITEM_PROP_VISIBLE, True)quicklist.child_append (radio2)radio1.connect (Dbusmenu.MENUITEM_SIGNAL_ITEM_ACTIVATED, radio_item_activated_callback, radio2)radio2.connect (Dbusmenu.MENUITEM_SIGNAL_ITEM_ACTIVATED, radio_item_activated_callback, radio1)
- séparateur (alias "séparateurs horizontaux") :
separator =Dbusmenu.Menuitem.new ();separator.property_set (Dbusmenu.MENUITEM_PROP_TYPE, Dbusmenu.CLIENT_TYPES_SEPARATOR)separator.property_set_bool (Dbusmenu.MENUITEM_PROP_VISIBLE, True)quicklist.child_append (séparateur)
- éléments de menu activés/désactivés :
item1 =Dbusmenu.Menuitem.new ()item1.property_set (Dbusmenu.MENUITEM_PROP_LABEL, "Item Enabled")item1.property_set_bool (Dbusmenu.MENUITEM_PROP_VISIBLE, True)item1.property_set_bool (Dbusmenu.MENUITEM_PROP_ENABLED, True)quicklist.child_append (item1 )item2 =Dbusmenu.Menuitem.new ()item2.property_set (Dbusmenu.MENUITEM_PROP_LABEL, "Item Disabled")item2.property_set_bool (Dbusmenu.MENUITEM_PROP_VISIBLE, True)item2.property_set_bool (Dbusmenu.MENUITEM_PROP_ENABLED, False)quicklist.child_append (item2)