UIList
ドキュメント:
UIList | Blender Python API [Official]
使い方
ドキュメント:
Basic UIList Example | Blender Python API [Official]
Advanced UIList Example – Filtering and Reordering | Blender Python API [Official]
参考:
Create an interface which is similar to the material list box – Blender Stack Exchange
How to create UIList with auto-aligned three columns? – Blender Stack Exchange
index out of range for UIList causes panel crash – Blender Stack Exchange
プロパティ
bitflag_filter_item
:項目の表示/非表示を切り替えるために使用するビットbl_idname
filter_name
:名前に合致する項目のみを表示する (ワイルドカードとして*
を使用できる)layout_type
:表示形式list_id
use_filter_invert
use_filter_show
use_filter_sort_alpha
use_filter_sort_lock
use_filter_sort_reverse
ドキュメント:
bpy.types.UIList | Blender Python API [Official]
メソッド
draw_item
:項目を描画するdraw_filter
:フィルタリング用 UI を描画するfilter_items
:項目をフィルタリングする処理
ドキュメント:
bpy.types.UIList | Blender Python API [Official]
表示形式
DEFAULT
:デフォルト – 複数の列を持つレイアウトCOMPACT
:コンパクト – 単一の列に表示するGRID
:グリッド – 格子状に項目を並べる
ドキュメント:
UIList Layout Type Items | Blender Python API [Official]
UI_UL_list
項目をフィルタリング及びソートするためのヘルパーメソッドを提供する。
静的メソッド
filter_items_by_name
sort_items_by_name
sort_items_helper
ドキュメント:
UI_UL_list | Blender Python API [Official]
コード:
UI_UL_list – bl_ui/__init__.py – GitHub
サンプル
コード:
ObjectPointer UIList Demo (p2or) – GitHub Gist
Material UIList Demo (p2or) – GitHub Gist
テンプレート
- ui_list.py:UIList 用テンプレート
- ui_list_generic.py:プロパティグループ のコレクションをリスト表示するサンプル (PropertyGroup)
- ui_list_simple.py:マテリアルスロットを表示するサンプル
コード:
ソースコード
- ui_template_list_layout_draw:リストの UI を描画する
- uiTemplateList_ex:オプションに従ってリストをカスタマイズして描画する
- uilist_draw_item_default:項目を描画する既定の処理
- uilist_draw_filter_default:項目を選別する既定の処理
- ui_template_list_data_retrieve:項目のデータを取得する
- ui_template_list_collect_items:並び替えを適用する
コード:
interface_template_list.cc – GitHub
interface_template_asset_view.cc – GitHub
UI_UL_DEFAULT_CLASS_NAME – UI_interface.h at v3.4.1 – GitHub
uiTemplateListFlags – UI_interface.h at v3.4.1 – GitHub
UIList Types – BKE_screen.h at v3.4.1 – GitHub
uilist_draw_item – rna_ui.c at v3.4.1 – GitHub