Как добавить флажки или переключатели в быстрый список Unity?

Вы можете использовать pd.Series.isin .

Для «IN» используйте: something.isin(somewhere)

Или для «NOT IN»: ~something.isin(somewhere)

В качестве обработанного примера:

>>> df
  countries
0        US
1        UK
2   Germany
3     China
>>> countries
['UK', 'China']
>>> df.countries.isin(countries)
0    False
1     True
2    False
3     True
Name: countries, dtype: bool
>>> df[df.countries.isin(countries)]
  countries
1        UK
3     China
>>> df[~df.countries.isin(countries)]
  countries
0        US
2   Germany

7
задан Javier Rivera 11 May 2012 в 06:42
поделиться

2 ответа

Я не уверен, это корректный, но я использую что-то вроде этого:

  • флажок:
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)
  • переключатели:
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.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)
  • разделитель (иначе "горизонтальные делители"):
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 (separator)
  • позволил/отключил пункты меню:
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)
5
ответ дан Damian 22 October 2019 в 14:34
поделиться

Вот пример создания пункта меню Quicklist типа Флажка:

    # Create toggle-able menu item for urgency
    urgent_menu_item = Dbusmenu.Menuitem.new ()

    # Set the tab's name as the menu item's name
    urgent_menu_item.property_set (Dbusmenu.MENUITEM_PROP_LABEL, _('Urgent'))

    # Make the menu item toggle-able
    urgent_menu_item.property_set(Dbusmenu.MENUITEM_PROP_TOGGLE_TYPE, Dbusmenu.MENUITEM_TOGGLE_CHECK)
    urgent_menu_item.property_set_int(Dbusmenu.MENUITEM_PROP_TOGGLE_STATE, Dbusmenu.MENUITEM_TOGGLE_STATE_UNCHECKED)
    urgent_menu_item.connect('item_activated', self.urgent_menu_item_activated)

    # Make the menu item visible
    urgent_menu_item.property_set_bool (Dbusmenu.MENUITEM_PROP_VISIBLE, True)

    # Add the section's menu item to the Quicklist menu
    quicklist.child_append(urgent_menu_item)

И вот один для того, чтобы сделать Радио-пункт меню Quicklist типа:

        # Create a new item for this section
        section_menu_item = Dbusmenu.Menuitem.new ()

        # Set the tab's name as the menu item's name
        section_menu_item.property_set (Dbusmenu.MENUITEM_PROP_LABEL, tab_name)

        # Make the menu item toggle-able
        section_menu_item.property_set(Dbusmenu.MENUITEM_PROP_TOGGLE_TYPE, Dbusmenu.MENUITEM_TOGGLE_RADIO)

        # Make the menu item visible
        section_menu_item.property_set_bool (Dbusmenu.MENUITEM_PROP_VISIBLE, True)

        # When the menu item is clicked, make it call menu_item_activated
        # with the tab id, which is used to make that the active tab
        section_menu_item.connect('item_activated', self.section_menu_item_activated, tab_id)

        # Add the section's menu item to the Quicklist menu
        quicklist.child_append(section_menu_item)
4
ответ дан mhall119 22 October 2019 в 14:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: