Ich habe gesucht, wie ich das bewerkstelligen kann, aber ich kann es nirgendwo finden. Ich habe sogar erraten, wie man das Quicklist-Element aktiviert / deaktiviert, um eine Funktion hinzuzufügen, die aufgerufen wird, nachdem auf das Element geklickt wurde, aber das ist alles. Irgendwelche Ideen?
Ich möchte eine Quicklist für meine App erstellen, die aus Kontrollkästchen oder Optionsfeldern besteht. Ich habe Informationen zum Hinzufügen von Elementen ohne zugeordnete Aktion zur Quicklist (Tutorial) gefunden, aber das ist alles, was ich gefunden habe. Es gibt keine Informationen zum Hinzufügen anderer Elementtypen (Kontrollkästchen, Optionsfelder, horizontale Trennlinien oder Elemente mit zugeordneter Aktion), die erwähnt werden dort.
Ich versuche so etwas zu bekommen.
Akzeptierte Antwort:
Ich bin mir nicht sicher, ob es richtig ist, aber ich verwende so etwas:
- Kontrollkästchen:
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, None)qucklist.child_append (check1)
- Optionsfelder:
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, "Radio Button 2")radio2.property_set (Dbusmenu.MENUITEM_PROP_TOGGLE_TYPE, Dbusmenu.MENUITEM_TOGGLE_RADIO)radio2.property_set_int (Dbusmenu.MENUITEM_PROP_TOGGLE_STATE, Dbusmenu.MENUITEM_TOGGLE_STATE_CHECKED)radio2.property_set_bool (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)
- Trennzeichen (auch bekannt als „horizontale Trennzeichen“):
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 (Trennzeichen)
- aktivierte/deaktivierte Menüpunkte:
item1 =Dbusmenu.Menuitem.new ()item1.property_set (Dbusmenu.MENUITEM_PROP_LABEL, "Element aktiviert")item1.property_set_bool (Dbusmenu.MENUITEM_PROP_VISIBLE, True)item1.property_set_bool (Dbusmenu.MENUITEM_PROP_ENABLED, True)quicklist.child_append (item1.append )item2 =Dbusmenu.Menuitem.new ()item2.property_set (Dbusmenu.MENUITEM_PROP_LABEL, "Element deaktiviert")item2.property_set_bool (Dbusmenu.MENUITEM_PROP_VISIBLE, True)item2.property_set_bool (Dbusmenu.MENUITEM_PROP_ENABLED, False)quicklist.child_append /pre>