Contents
基本的な最小構成のスクリプト
キーワード
- layout = [[sg.Text()]]
- sg.Window()
- while True
- event, values
- window.read()
- event == None
- window.close()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
import PySimpleGUI as sg # レイアウト定義 layout = [ [sg.Text('テキスト')] ] # ウィンドウのインスタンスを生成 window = sg.Window('タイトル', layout) # 表示ループ while True: # ウィンドウを表示 および イベントとバリューの取得 event, values = window.read() # ウィンドウ右上の閉じるボタンを押したとき if event == None: break # ウィンドウを閉じる window.close() |
表示を増やしてみる
キーワード
- sg.Input()
- sg.Multiline()
- size=( 20,1 )
- font=(‘Meiryo UI’, 18)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
import PySimpleGUI as sg # レイアウト定義 layout = [ [sg.Text('テキスト1'), sg.Text('テキスト2'), sg.Text('テキスト3')], [sg.Text('テキスト4', size=(20, 1), font=('Meiryo UI', 18))], [sg.Input(default_text='インプット デフォルトテキスト')], [sg.Multiline(default_text='マルチライン デフォルトテキスト')], ] # ウィンドウのインスタンスを生成 window = sg.Window('タイトル', layout) # 表示ループ while True: # ウィンドウを表示 および イベントとバリューの取得 event, values = window.read() # ウィンドウ右上の閉じるボタンを押したときループから抜ける if event == None: break # ウィンドウを閉じる window.close() |
ボタンとポップアップ
キーワード
- sg.Button(key=’button’)
- sg.Button(image_filename =’ファイルパス’,key=’button’)
- result = sg.PopupYesNo()
- if result == ‘Yes’
- sg.Popup()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
import PySimpleGUI as sg # レイアウト定義 layout = [ [sg.Text('テキスト1'), sg.Text('テキスト2'), sg.Text('テキスト3')], [sg.Text('テキスト4', size=(20, 1), font=('Meiryo UI', 18))], [sg.Input(default_text='インプット デフォルトテキスト')], [sg.Multiline(default_text='マルチライン デフォルトテキスト')], [sg.Button('ボタン1', key='button1')], [sg.Button(image_filename='sample.png',image_size=(80,80))] ] # ウィンドウのインスタンスを生成 window = sg.Window('タイトル', layout) # 表示ループ while True: # ウィンドウを表示 および イベントとバリューの取得 event, values = window.read() # ウィンドウ右上の閉じるボタンを押したときループから抜ける if event == None: break if event == 'button1': result = sg.PopupYesNo('処理を行いますか?') if result == 'Yes': sg.Popup('処理が完了しました。') else: pass # ウィンドウを閉じる window.close() |
インプットを取得して処理、出力する
キーワード
- sg.Output()
- print()
注意:インプットは文字列になるので、計算するときはint,floatで数値に変換してからやること。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
import PySimpleGUI as sg # レイアウト定義 layout = [ [sg.Text('2つの数字を足し算します')], [sg.Input(default_text='3',key='input1'), sg.Input(default_text='5',key='input2')], [sg.Button('計算する', key='culc_button')], [sg.Output()] ] # ウィンドウのインスタンスを生成 window = sg.Window('タイトル', layout) # 表示ループ while True: # ウィンドウを表示 および イベントとバリューの取得 event, values = window.read() # ウィンドウ右上の閉じるボタンを押したときループから抜ける if event == None: break if event == 'culc_button': summation = int(values['input1']) + int(values['input2']) print(summation) # ウィンドウを閉じる window.close() |
チェックボックスを付ける
キーワード
- [sg.Checkbox(‘入力1’,key=’checkbox1′,default=True), sg.Input(default_text=’3′,key=’input1′)]
- if values[‘checkbox1’] == True: summation += i1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
import PySimpleGUI as sg # レイアウト定義 layout = [ [sg.Text('足し算します')], [sg.Checkbox('入力1',key='checkbox1',default=True), sg.Input(default_text='3',key='input1')], [sg.Checkbox('入力2',key='checkbox2',default=True), sg.Input(default_text='5',key='input2')], [sg.Checkbox('入力3',key='checkbox3',default=True), sg.Input(default_text='7',key='input3')], [sg.Button('計算する', key='culc_button')], [sg.Output()] ] # ウィンドウのインスタンスを生成 window = sg.Window('タイトル', layout) # 表示ループ while True: # ウィンドウを表示 および イベントとバリューの取得 event, values = window.read() # ウィンドウ右上の閉じるボタンを押したときループから抜ける if event == None: break if event == 'culc_button': i1 = int(values['input1']) i2 = int(values['input2']) i3 = int(values['input3']) summation = 0 # 初期化 if values['checkbox1'] == True: summation += i1 if values['checkbox2'] == True: summation += i2 if values['checkbox3'] == True: summation += i3 print(summation) # ウィンドウを閉じる window.close() |
ラジオボタンを使ってみる
キーワード
- [sg.Radio(‘足し算’,key=’radio_add’, group_id=’radio1′,default=True), sg.Radio(‘掛け算’, key=’radio_multiply’,group_id=’radio1′)],
- if values[‘radio_multiply’] == True: if values[‘checkbox1’] == True: multiple *= i1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
import PySimpleGUI as sg # レイアウト定義 layout = [ [sg.Text('足し算 か 掛け算か を選択してください。')], [sg.Radio('足し算',key='radio_add', group_id='radio1',default=True), sg.Radio('掛け算', key='radio_multiply',group_id='radio1')], [sg.Checkbox('入力1',key='checkbox1',default=True), sg.Input(default_text='3',key='input1')], [sg.Checkbox('入力2',key='checkbox2',default=True), sg.Input(default_text='5',key='input2')], [sg.Checkbox('入力3',key='checkbox3',default=True), sg.Input(default_text='7',key='input3')], [sg.Button('計算する', key='culc_button')], [sg.Output()] ] # ウィンドウのインスタンスを生成 window = sg.Window('タイトル', layout) # 表示ループ while True: # ウィンドウを表示 および イベントとバリューの取得 event, values = window.read() # ウィンドウ右上の閉じるボタンを押したときループから抜ける if event == None: break if event == 'culc_button': i1 = int(values['input1']) i2 = int(values['input2']) i3 = int(values['input3']) summation = 0 # 初期化 multiple = 1 #初期化 if values['radio_add'] == True: if values['checkbox1'] == True: summation += i1 if values['checkbox2'] == True: summation += i2 if values['checkbox3'] == True: summation += i3 print(summation) if values['radio_multiply'] == True: if values['checkbox1'] == True: multiple *= i1 if values['checkbox2'] == True: multiple *= i2 if values['checkbox3'] == True: multiple *= i3 print(multiple) # ウィンドウを閉じる window.close() |
参考
The following two tabs change content below.
Keita N
最新記事 by Keita N (全て見る)
- 2024/1/13 ビットコインETFの取引開始:新たな時代の幕開け - 2024年1月13日
- 2024/1/5 日本ビジネスにおける変革の必要性とその方向性 - 2024年1月6日
- 2024/1/3 アメリカ債権ETFの見通しと最新動向 - 2024年1月3日