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)