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