qba*_*a47 7 python unity quicklists application-development
我一直在寻找如何做到这一点,但我在任何地方都找不到。我什至猜到了如何启用/禁用快速列表项,以及如何添加单击该项后调用的函数,但仅此而已。有任何想法吗?
我想为我的应用程序制作一个快速列表,其中包含复选框或单选按钮。我找到了有关如何将没有关联操作的项目添加到快速列表(教程)的信息,但这就是我发现的所有信息,没有关于如何添加其他类型的项目(复选框、单选按钮、水平分隔线或具有关联操作的项目)的信息。那里。我想要得到的东西像这样。
我不确定它是否正确,但我正在使用这样的东西:
def check_item_activated_callback (menuitem, a, b): 如果 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) 别的: 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, "复选框") 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)
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, "单选按钮 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, "单选按钮 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.MENUITEM_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)
分隔符 = 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(分隔符)
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)