PySimpleGUI 基礎解説

PythonでGUIを構築するためのライブラリです.
数あるGUIライブラリの中でも最も使いやすいものの1つだと思います.
このライブラリの基本的な使い方のテキストを作りました.
教育現場で使用することを想定しています.実際に使用しながら改訂していく予定です.
無料で公開しますので,ご意見いただけましたら幸いです.
→ テキスト本体(PDF形式, 41ページ, 1.22MB)
→ ミラーサイト

【テキスト中のサンプルプログラム】
注)ここに掲載しておりますサンプルプログラムはダウンロードして実行することを想定していますので,テキストファイル(UTF-8エンコーディング)の形式です.この関係上,Webブラウザで直接閲覧しますと「文字化け」が起こることがあります.Webブラウザ上でUTF-8テキストを直接閲覧するには,ご使用のブラウザを適切に設定する必要があるかもしれません.
参考サイト:https://support.google.com/merchants/answer/6293594?hl=ja


psgui01.py psgui01-renew.py psguiText01.py
tk_font01.py psguiText02.py psguiImage01.py
trnsprnt.png psguiInputText01.py psguiInputText02.py
psguiInputText03.py psguiMultiline01.py psguiButtons01.py
psguiButtons02.py Earth.png psguiButtons03.py
psguiListbox01.py psguiSpin01.py psguiSlider01.py
psguiSlider02.py psguiFrame01.py psguiFrame02.py
psguiProgressBar01.py psguiTable01.py psguiTree01.py
icon_file_tiny.png icon_folder_tiny.png psguiTab01.py
ImageEarth.png ImageJupiter.png ImageMars.png
ImageMercury.png ImageNeptune.png ImagePluto.png
ImageSaturn.png ImageUranus.png ImageVenus.png
psguiColPane01.py psguiColumn01-1.py psguiColumn01-2.py
psguiOptionMenu01.py psguiMenuBar01.py psguiButtonMenu01.py
psguiCanvas01.py psguiPupGetTxt01.py psguiWinResize01.py
psguiWinResize02-1.py psguiWinResize02-2.py psguiNoTitlebar01.py
psguiMatplotlib01.py psguiMatplotlib02.py
   

【目次】

1 はじめに — 1 
2 導入 — 1 
 2.1 使用方法の概略 — 1 
  2.1.1 ウィジェットの配置 — 1 
  2.1.2 イベントループ — 2 
  2.1.3 GUIプログラムの終了 — 2 
  2.1.4 サンプルに沿った説明 — 2 
   2.1.4.1 ウィジェットのサイズ設定 — 3 
   2.1.4.2 デザインテーマの設定 — 3 
   2.1.4.3 ウィジェットのイベントハンドリングの有効化 — 4 
   2.1.4.4 ウィジェットへの名前の付与 — 4 
   2.1.4.5 既存のウィジェットへのアクセス — 5 
3 ウィジェット(Widgets) — 6 
 3.1 文字列,画像の表示 — 6 
  3.1.1 Text — 6 
   3.1.1.1 使用できるフォント — 6 
   3.1.1.2 余白と枠 — 7 
  3.1.2 Image — 8 
 3.2 文字の入力 — 9 
  3.2.1 InputText — 9 
   3.2.1.1 イベント,値,ウィジェットの対応付け — 10 
   3.2.1.2 InputTextへのイベントハンドリングの登録 — 10 
   3.2.1.3 パスワード入力フィールド — 11 
   3.2.1.4 InputTextへの値の設定 — 11 
  3.2.2 Multiline — 12 
 3.3 ボタン類 — 13 
  3.3.1 Button — 13 
  3.3.2 Checkbox — 15 
  3.3.3 Radio — 15 
 3.4 選択入力 — 16 
  3.4.1 Listbox — 16 
  3.4.2 Spin — 17 
  3.4.3 Slider — 18 
   3.4.3.1 Sliderへの値の設定 — 18 
 3.5 枠,区切り線 — 19 
  3.5.1 Frame — 19 
  3.5.2 VerticalSeparator — 21 
 3.6 進捗バー — 21 
 3.7 表,ツリー — 22 
  3.7.1 Table — 22 
  3.7.2 Tree — 23 
 3.8 様々な表示構造 — 26 
  3.8.1 Tab,TabGroup — 26 
  3.8.2 Pane,Column — 27 
   3.8.2.1 Columnを応用したウィジェットの表示位置の調整 — 28 
 3.9 メニュー — 31 
  3.9.1 OptionMenu — 31 
  3.9.2 MenuBar — 31 
  3.9.3 ButtonMenu — 32 
 3.10 Canvas — 33 
4 ポップアップウィンドウ — 35 
 4.1 入力 — 35 
  4.1.1 PopupGetText — 35 
 4.2 報告,確認のためのポップアップ表示 — 36 
5 ウィンドウの扱い — 38 
 5.1 リサイズ可能にする設定 — 38 
 5.2 ウィンドウのサイズと位置について — 38 
 5.3 テーマの設定 — 40 
  5.3.1 デザインテーマの一覧表示 — 40 
  5.3.2 使用できるデザインテーマの調査 — 40 
 5.4 タイトルバーの有無 — 41 
  5.4.1 ウィンドウの透明度 — 41 
A 付録 — 42 
 A.1 matplotlibで作成したグラフをレイアウトに埋め込む方法 — 42 
  A.1.1 matplotlibによって作成されるグラフ — 42 
  A.1.2 FigureオブジェクトのグラフをCanvasに変換する方法 — 43 
 A.2 Tkinterのオブジェクトとの対応 — 45