web-dev-qa-db-ja.com

Unityクイックリストにチェックボックスまたはラジオボタンを追加する方法は?

私はそれを実現する方法を探してきましたが、どこにも見つかりません。クイックリストアイテムを有効/無効にする方法も推測したので、アイテムをクリックした後に呼び出される関数を追加する方法も推測しましたが、それだけです。何か案は?

チェックボックスまたはラジオボタンで構成されるアプリのクイックリストを作成したいです。関連するアクションのないアイテムをクイックリストに追加する方法に関する情報を見つけました( tutorial )が、それだけですそこに記載されている関連アクションを含む)。 this のようなものを取得しようとしています。

7
qba47

私はそれが正しいかどうかわかりませんが、私はこのようなものを使用しています:

  • チェックボックス:
 def check_item_activated_callback(menuitem、a、b):
 if menuitem.property_get_int(Dbusmenu.MENUITEM_PROP_TOGGLE_STATE)== Dbusmenu.MENUITEM_TOGGLE_STATE_CHECKED:
 D MENUITEM_TOGGLE_STATE_UNCHECKED)
 else:
 menuitem.property_set_int(Dbusmenu.MENUITEM_PROP_TOGGLE_STATE、Dbusmenu.MENUITEM_TOGGLE_STATE_CHECKED)
 
 check1 = Dbusmenu.Menuitem check1.property_set(Dbusmenu.MENUITEM_PROP_LABEL、 "チェックボックス")
 check1.property_set(Dbusmenu.MENUITEM_PROP_TOGGLE_TYPE、Dbusmenu.MENUITEM_TOGGLE_CHECK)
 check_ ] 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)[.____。 .____。] 
 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_app ____________________。 。] 
 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)
 o .____。 .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_TrueI 。] quicklist.child_append(セパレータ)
  • 有効/無効なメニュー項目:
 item1 = Dbusmenu.Menuitem.new()
 item1.property_set(Dbusmenu.MENUITEM_PROP_LABEL、「アイテム有効」)
 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、「アイテムが無効」)
 item2.property_set_bool(Dbusmenu.MENUITEM_PROP_VISIBLE、True)
 item2.property_set_bool(Dbusmenu.MENUITEM_PROP_ENABLED、False)
 quid )
5
Damian

チェックボックスタイプのクイックリストメニュー項目を作成する例を次に示します。

    # 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)

そして、ここにラジオタイプのクイックリストメニューアイテムを作成するためのものがあります:

        # 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