Python

Python PyTouchBar MacのTkinter(TK)/PyGameのアプリでTouch Barに対応してみる(2) TouchBarItems(1)

タッチバーにアイテムを追加するには、PyTouchBar.set_touchbar([item1, item2, …])という関数を使う。
アイテムは全てPyTouchBar.TouchBarItemsで定義されており、追加できるアイテムを以下に示す。

Spaces

TouchBarでは、アイテムの位置(左、右、中央)を設定することはできない。アイテムを配置するには、アイテム間にスペースを使用する必要がある。フレキシブルなスペースは、他のアイテムをTouchBarの側面に押し出し、可能な限りのスペースを確保する。

item = PyTouchBar.TouchBarItems.Space.Small() # Small space
item = PyTouchBar.TouchBarItems.Space.Large() # Large space
item = PyTouchBar.TouchBarItems.Space.Flexible() # Flexible space

Label

文字を表示するアイテム。

# text (String) : ラベルに表示されるテキスト
# text_color (Tuple) : 表示するテキストの色を(r, g, b, a)で指定。値は0から1の10進数で、色の定数(PyTouchBar.Color)を使える
# alignment (Alignment) : ラベル内のテキストの配置を指定。アラインメントは定数で定義されている(left, right, center, justified, natural)
# font_name (String) : デフォルトはArial。表示するテキストのフォント名
# font_size (Int) : デフォルトは16。表示するテキストのフォントサイズを指定
label = PyTouchBar.TouchBarItems.Label(text = 'Sample Text')

Button

ユーザーがクリックできるボタンで、アクションを呼び出すことができる。

def func(button):
  print ('clicked.')

# title (String or None) : ボタンに表示される文字列
# color (Tuple or None) : ボタンの背景色を指定。形式は(r, g, b, a)で、値は0~1の10進数。色の定数(PyTouchBar.Color)を使える
# image (String or None) : ボタンに表示される画像ファイルへのパス。
# image_position(ImagePosition) : タイトルに対する画像の相対的な位置を指定。画像の位置は定数(PyTouchBar.ImagePosition)で定義されている。
# image_scale (ImageScale) : 画像のスケーリングを指定。画像のスケールは定数(PyTouchBar.ImageScale)で定義されている。
# action (ボタンを引数とする関数) : ユーザーがボタンをタッチしたときに呼び出される関数。
button = PyTouchBar.TouchBarItems.Button(title = 'Sample Button', action = func)

エスケープキーのボタンを変更できるようになった。

以下のように、set_touchbarのesc_keyパラメータでこのボタンをエスケープキーとして設定するだけで良い。

button = PyTouchBar.TouchBarItems.Button(title = "Foo", action = function)
PyTouchBar.set_touchbar(... , esc_key = button)