PySimpleGUIとは
Pythonで簡単にGUIを作成するためのライブラリです。
https://pysimplegui.readthedocs.io/en/latest/
PythonでGUIを作成する際は、tkinter、Qt、Remi、WxPythonなどを使いますが、簡単な実装でもコード量が多くなりがちです。
それを解決するのがPySimpleGUIで、上記の軽量なラッパーとして機能します。
標準ライブラリではないので、各自インストールしてください。
1 | pip install pysimplegui |
基本的な使い方
sg.popup
1 | sg.popup('popup') # Shows OK button |
ボタンのメッセージやポップアップのタイトルを変えることもできます。
1 | sg.popup('マスに対する操作を選択してください',custom_text=('open', 'flag'),title='') |
sg.Button
例えば二つのボタンを並べて表示しする場合は以下のように使います。
1 | layout = [[sg.Button('0'),sg.Button('1')]] |
マインスイーパ
公式のサンプルコードとしてマインスイーパがあるのですが、GUIを提供するのみでゲームロジックが組まれていませんでした。
そこでシンプルなルールのみで実装しました。
1 | import PySimpleGUI as sg |
ポイント
爆弾のカウント
フィルタを用意して畳み込みを行うことで周囲の爆弾をカウントしています。
1 | [1,1,1], |
フラグ機能
マスをクリックするとポップアップが開き、「マスを開く」か「フラグをON/OFFする」か選択ができます。GetText
で格納されている値が取得できるので、これを用いてF(フラグON)
と?(デフォルト、フラグOFF)
を切り替えます。
1 | state = window[event].GetText() |
日本語版コマンドクリックリファレンス
日本語版のコマンドクイックリファレンスをKindleで購入できます。Kindle Unlimitedでも読むことができます。
ただし、kindleで販売されているものは内容は分割版(抜粋)となっています。内容が良さそうでしたら、フルのpdfを購入されると良いと思います。
購入方法も記載されています。
リンク
宣伝
機械学習エンジニアを目指している方向けに、書籍を出しました。
サクッと読める内容ですので是非お手に取ってみてください。
リンク
記事情報
- 投稿日:2020年4月3日
- 最終更新日:2020年8月28日