【PySimpleGUI】チェックボックスの設定(文字の色、背景色、フォントサイズ、複数選択)と選択状態の取得[Python]

  • URLをコピーしました!
目次

PySimpleGUI

前回、PySimpleGUIでリストボックスの設定(文字の色、背景色、フォントサイズ、複数選択)と選択項目を取得する方法を解説しました。

今回はチェックボックスの設定(文字の色、背景色、フォントサイズ、複数選択)と選択状態を取得する方法を解説していきます。

それでは始めていきましょう。

チェックボックスの設置

チェックボックスを設置するには「sg.Checkbox(‘テキスト’, key=’キー’)」をlayoutに格納します。

import PySimpleGUI as sg

layout = [[sg.Checkbox('Checkbox', key='-checkbox1-')]]

window = sg.Window('Title', layout, size=(200,100))

event, values = window.read()

while True:
    event, values = window.read()
    if event == sg.WIN_CLOSED:
        break
          
window.close()

文字の色や背景色、フォント、フォントサイズの設定

文字の色を変えるには「text_color=’文字の色’」を、背景色を変えるには「background_color=’背景色’」をオプションに追加します。

またフォント、フォントサイズを変更するには「font=(‘フォント’, フォントサイズ)」をオプションに追加します。

import PySimpleGUI as sg

layout = [[sg.Checkbox('Checkbox', key='-checkbox1-', text_color='Red', background_color='Yellow', font=('Arial', 20))]]

window = sg.Window('Title', layout, size=(200,100))

event, values = window.read()

while True:
    event, values = window.read()
    if event == sg.WIN_CLOSED:
        break
          
window.close()

デフォルトの状態を設定

デフォルトの状態(チェックがオンかオフか)を設定するには、オンの場合は「default=True」、オフの場合は「default=False」をオプションに追加します。

import PySimpleGUI as sg

layout = [[sg.Checkbox('Checkbox', key='-checkbox1-', default=True)],
         [sg.Checkbox('Checkbox', key='-checkbox2-', default=False)]]

window = sg.Window('Title', layout, size=(200,100))

event, values = window.read()

while True:
    event, values = window.read()
    if event == sg.WIN_CLOSED:
        break
          
window.close()

ボタンを押したらチェックボックスの状態を取得

次にチェックボックスの状態を取得する方法を解説していきます。

実際に使う場面を考えると、ボタンを押したら入力値を取得し、何らかの処理をするという可能性とリアルタイムに値を取得し、処理をする可能性が考えられます。

ということで両方解説していきますが、まずは「ボタンを押したらチェックボックスの状態を取得」してみましょう。

while文中で「event, values = window.read()」として値を取得している場合、選択した項目は「values[‘キー’]」で取得できます。

import PySimpleGUI as sg

layout = [[sg.Checkbox('Checkbox', key='-checkbox1-')],
         [sg.Text('', key='-text1-')],
         [sg.Button('Button', key='-button1-')]]

window = sg.Window('Title', layout, size=(200,100))

event, values = window.read()

while True:
    event, values = window.read()
    if event == sg.WIN_CLOSED:
        break
    elif event == '-button1-':
        window['-text1-'].update(values['-checkbox1-'])
          
window.close()

実行してボタンを押す前。

チェックボックスをオンにしてボタンを押した場合。

チェックボックスをオフにしてボタンを押した場合。

リアルタイムに値を取得

リアルタイムに値を取得する場合、「sg.Checkbox()」のオプションに「enable_events=True」を追加します。

import PySimpleGUI as sg

layout = [[sg.Checkbox('Checkbox', key='-checkbox1-', enable_events=True)],
         [sg.Text('', key='-text1-')]]

window = sg.Window('Title', layout, size=(200,100))

event, values = window.read()

while True:
    event, values = window.read()
    if event == sg.WIN_CLOSED:
        break
    window['-text1-'].update(values['-checkbox1-'])
          
window.close()

実行した状態。

チェックボックスをオンにした状態。

チェックボックスをオフにした状態。

次回はスピナーを紹介します。

ではでは今回はこんな感じで。

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

目次