やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

PySDL2でCheckButtonを表示する

sdl2.ext.UIFactory(sdl2.ext.SpriteFactory(sdl2.ext.SOFTWARE)).from_color(sdl2.ext.BUTTON, color=sdl2.ext.Color(0,0,0), size=(100,50))

成果物

GitHubPySDL2.GUI.CheckButton.201711211151

画像

開発環境

参考

PySDL2のUI

以下の3種類しかない。すべてsdl2.ext.Spriteの拡張らしい。

  • BUTTON
  • CHECKBUTTON
  • TEXTENTRY

GUIライブラリではないので期待しないほうが良さそう。

CHECKBUTTON

前回のBUTTONにcheckedフラグがついたボタン。

生成

  • sdl2.ext.UIFactory(sdl2.ext.SpriteFactory(sdl2.ext.SOFTWARE)).from_color(sdl2.ext.CHECKBUTTON, color=sdl2.ext.Color(0,0,0), size=(100,50))

イベント捕捉

def onclick(button, event):
    if button.checked:
        sdl2.ext.fill(button.surface, GREEN)
    else:
        sdl2.ext.fill(button.surface, RED)

button = uifactory.from_color(sdl2.ext.CHECKBUTTON, color=GREY, size=(100,50))
button.click += onclick

所感

ほぼButtonと同じ。