ツールキットのappのUIは、「tk-framework-qtwidgets」 で提供されているウィジェットで構築されています。
さらに、それらUIに組み込まれるデータは、「tk-framework-shotgunutils 」 から提供されます。
appを自作しようとするとき、これらのソースコードやドキュメントを読みながらでも進められますが、 実際動くものを確認しながら だと能率が違います。
ツールキットには、そうしたUIウィジェットのデモのためのapp 「tk-multi-demo」 が用意されています。
tk-multi-demo
通常、ツールキットを設置した時点で(=SG Desktopをインストールした時点で)app_store以下にキャッシュはされていて、tk-shell.yml 内でappとして指定されています。
shellということで、Windowsであればcmdを立ち上げ、
cd {tankのあるフォルダ}
tank demos
と実行すると、なんらかの初期化処理が走った後にUIが起動します。
SG Desktopから呼べるようにする
tk-shell.yml のprojectのところに書かれている内容を tk-desktop.yml に移植することで、SG Desktopのパレットから起動できるようになります。
...
# project
settings.tk-shell.project:
apps:
tk-multi-demo: # <-
location: "@apps.tk-multi-demo.location" # <-
tk-multi-launchapp: '@settings.tk-multi-launchapp'
tk-multi-launchhiero: '@settings.tk-multi-launchapp.hiero'
tk-multi-launchmari: '@settings.tk-multi-launchapp.mari'
tk-multi-launchmotionbuilder: '@settings.tk-multi-launchapp.motionbuilder'
tk-multi-publish2: "@settings.tk-multi-publish2.standalone"
tk-multi-screeningroom: '@settings.tk-multi-screeningroom.rv'
location: '@engines.tk-shell.location'
...
...
# project
settings.tk-desktop.project:
apps:
tk-multi-demo: # <-add
location: "@apps.tk-multi-demo.location" # <-add
tk-multi-pythonconsole:
location: "@apps.tk-multi-pythonconsole.location"
tk-multi-devutils:
location: "@apps.tk-multi-devutils.location"
tk-multi-launchapp: "@settings.tk-multi-launchapp"
...
これでOK。
ついでに groups にも下記のようなのを書き加えておくと、よりいい感じになります
groups:
- matches:
- "*Demo*"
name: Qt Widget Demo
このmatchesの順番はSG Desktopに並ぶ順番に影響し、なににもマッチしない=STUDIOが最上位に置かれ、それ以下は書いた順にパレットが分けられます。画像ではわかりやすく一番上に書いていますが、Demoなので一番下に書き足すのが順当かなと思います。
いろいろなウィジェットを確認
メニューとか
階層をたどるUIウィジェットとか
いろいろな動作が確認できます。
全てのウィジェットはウィンドウ下部の 「Code」タブでコードを確認 できます。
appの内容が内容なので、hookとか設定項目はありません。