けんろう
PySimpleGUIでは、入力手段として、チェックボックスが使えます。
この記事では、PySimpleGUIを使って、入力手段として、チェックボックスを使うGUIアプリの作り方を紹介します。
この記事に載っているサンプルコードをコピーして、Pythonで実行すれば、簡単に動きを確認できますので、是非試してみて下さい。
この記事では、初心者にもわかりやすいように、各処理の内容を、サンプルコード内にコメントとして載せています。
【無料オンライン】ゼロから始めるPythonプログラミング入門講座(週5開催) テックジムPySimpleGUIのインストールの仕方は、以下の記事で紹介しています。
チェックボックスでのチェック結果をポップアップに表示するアプリ
このアプリは、チェックボックスが表示されますので、好きなものをチェックして、[注文の確認」ボタンを押すと、その選択結果をポップアップで表示します。
【AIジョブカレ】人工知能技術専門プログラミングスクールサンプルコード
#!usr/bin/env python
# -*- coding: utf-8 -*-
import PySimpleGUI as sg
sg.theme('Dark Blue 3')
check_dic = {
'1': ' りんご ',
'2': ' バナナ ',
'3': ' バイナップル ',
}
layout = [
[sg.Text(' 注文は、なんですか? ', size=(45, 1))],
[sg.Checkbox(item[1], key=item[0]) for item in check_dic.items()],
[sg.Button(' 注文の確認 ', key='-POPUP-')],
]
# ウィンドウ生成
window = sg.Window(' 注文メニュー ', layout)
index = 0
while True:
event, values = window.read()
if event is None:
break
if event == '-POPUP-':
disp_text = ''
#valuesの中身(’りんご’だけ選択された場合)
# value[0]は、リスト番号、value[1]は、チェックされたかどうか(True=チェックあり、False=チェック無し)
# (value[0]、value[1])=(1、True) りんご
# (value[0]、value[1])=(2、False) バナナ
# (value[0]、value[1])=(3、False) パイナップル
# チェックリストを順番に見ていく
for value in values.items():
# value[1]=Trueの場合の処理
if value[1]:
# 表示用テキストデータが入っているなら、’、’で挿入する
if not disp_text == '':
disp_text += ', '
# 表示用テキストデータに、check_dicから品物名を追記する
disp_text += check_dic[value[0]]
# 選択されているかどうかで表示メッセージを変更
if disp_text == '':
sg.popup_ok(' 何も選ばれていません。 ')
else:
sg.popup_ok(disp_text + ' が選ばれています。 ')
window.close()
実行すると、
下図のようなウィンドウが立ち上がります。
チェックボックスで、「りんご」「バナナ」を選択して、「注文の確認」ボタンを押下すると、下のポップアップが表示されます。
なにも選択しないと、次のポップアップが表示されます。
リンク
まとめ
今回は、Pythonライブラリである、PySimpleGUIを使い、チェックボックスで選択した結果を、ポップアップで表示するアプリの作り方を紹介しました。
- 【PythonでGUIアプリ入門】PySimpleGUI、Pyperclip を使った クリップボードアプリ の作り方
- 【PythonでGUIアプリ入門】PySimpleGUI を使った タイマーストップアプリ の作り方
- 【Python(PySimpleGUI)でGUIアプリ入門】Pythonアプリを起動するランチャソフトの作り方
- 【PythonでGUIアプリ入門】OpenCV、PySimpleGUIによるPCカメラ映像を使った映像加工アプリの作り方
- 【PythonでGUIアプリ入門】OpenCV、PySimpleGUIで、PCカメラで撮影した映像を表示するアプリの作り方
- 【PythonでGUIアプリ入門】OpenCV、PySimpleGUIを使った、メディアプレイヤーアプリの作り方
リンク
コメント