PySimpleGUIのサンプル


ウィンドウ表示

import PySimpleGUI as sg

# ウィンドウのレイアウト
layout = [
              [sg.Text("名前を入力してね!")],
              [sg.Input(key='key-input')],
              [sg.Text("ここは出力領域", size=(60,5), key='key-output')],
              [sg.Button('はい'), sg.Button('終了')]
          ]

# ウィンドウ作成
window = sg.Window('ウィンドウ名', layout, location=(5,10))


# イベントループを使用使用
# 「終了」ボタンで終わり
while True:
    event, values = window.read()
    if event == sg.WINDOW_CLOSED or event == '終了':
        break

    nameData = values['key-input']
    window['key-output'].update('こんにちは、' + nameData  + "さん")


window.close()
  

import PySimpleGUI as sg

# ウィンドウのレイアウト
layout = [
              [sg.Text("名前を入力してね!")],
              [sg.Input(key='key-input')],
              [sg.Text("ここは出力領域", size=(60,5), key='key-output')],
              [sg.Button('はい'), sg.Button('終了')]
          ]

# ウィンドウ作成
window = sg.Window('ウィンドウ名', layout, location=(5,10))


# イベントループを使用使用
# 「終了」ボタンで終わり
while True:
    event, values = window.read()
    if event == sg.WINDOW_CLOSED or event == '終了':
        break

    nameData = values['key-input']
    window['key-output'].update('こんにちは、' + nameData  + "さん")


window.close()
Pythonでウィンドウを表示させるには、tkinterなど利用しますが、 PySimpleGUIは直感的で分かりやすいと思ったのでご紹介します。 インストール方法は pip install pysimplegui PySimpleGUIは2018年から開発が始まったんですね(最近だぁね)、 tkinter、Qt、WxPython、Remiののラッパーで、少ない行数で書けて直感的かな。

説明

全体を見てみましょう! sg.Windowでウインドウのタイトル、ウインドウ内の表示項目、ウインドウ位置 等を指定します。 window = sg.Window( 'ウィンドウ名', layout, location=(50,50) ) 第一引数は、ウィンドウのタイトル 二番目には、ウィンドウに表示させたい部品を順番に書けばできます。 locationはウィンドウの座標値です。 イベントループにより処理を制御します。 レイアウトは設定順番に表示されます、 表示は、Text 入力は、Input ボタンは、Buttonですね 入力と出力の識別は、key指定を行います。  入力された内容を取得したい場合は, read()を使い、  key名を指定して取得です。  nameData = values['key-input']  文字列を表示出力したい場合もkey名を指定します。  window['key-output'].update('こんにちは、' + nameData + "さん") わりと、良い感じでしょ! プログラム経験のある方には、分かりやすいですよね、 tkinter、WxPythonより親しみがありますね~

スクリプトの説明

入力ウィンドウを表示させるものです。
(はい、終了ボタンがあります)

ローマ字で名前を入力して下さい。
※漢字はダメ、入力域でクリックしてフォーカスします

次に、[はい]ボタンをクリックします、「こんにちは、入力名前 さん」と表示されます。
[終了]ボタンをクリックすると終了します。


右下のパネルに変数名と値が表示されますので、
event,valuesに注意してみて下さいね。

参考URL

Tkinterを使うのであればPySimpleGUIを使ってみたらという話 人間のためのPythonのGUI