PySimpleGUIでは、ポップアップで、テキストなどを入力できます。
この記事では、GUIアプリ製作に必要なポップアップの作り方を紹介します。
ポップアップには、結果を表示するタイプと、ユーザになにかしらの入力を促すものがありますが、
今回の記事では、ユーザになにかしらの入力を促すことができる入力ポップアップを紹介します。
ポップアップ入力の種類
入力ポップアップには、以下の種類があります。
popup_get_text :1行のテキストを取得します
popup_get_file :ファイル名を取得します
popup_get_folder :フォルダ名を取得します
popup_get_text
このポップアップを使用して、ユーザーから1行のテキストを取得します。
テキスト入力フィールドでポップアップを表示します。入力したテキストを返すか、閉じた/キャンセルした場合はなしを返します
popup_get_text(
message,
title = None,
default_text = "",
password_char = "",
size = (None, None),
button_color = None,
background_color = None,
text_color = None,
icon = None,
font = None,
no_titlebar = False,
grab_anywhere = False,
keep_on_top = False,
location = (None, None),
image = None,
modal = True
)
名前 | タイプ | 意味 |
message | str | 表示するメッセージ |
title | str | ウィンドウタイトル |
default_text | str | 入力領域に入力するデフォルト値 |
password_char | str | 実際に入力された文字の代わりに表示される文字 |
size | (int、int) | InputText要素の(幅、高さ) |
button_color | タプル[str、str] またはstr | ボタンの色(テキスト、背景) |
background_color | str | ウィンドウ全体の背景色 |
text_color | str | メッセージテキストの色 |
icon | バイトまたはstr | ウィンドウのアイコンに使用される ファイル名またはbase64文字列 |
font | strまたは Tuple [str、int] | フォントファミリー、サイズなどを指定します |
no_titlebar | bool | Trueの場合、タイトルバーは表示されません |
keep_on_top | bool | Trueの場合、 ウィンドウは現在のすべてのウィンドウ の上に残ります |
location | タプル[int、int] | (x、y)ウィンドウの左上隅を表示する 画面上の位置 |
image | strまたはbytes | ポップアップウィンドウの上部に含める画像 |
modal | bool | Trueの場合、 ポップアップはモーダルウィンドウのように動作します 他のすべてのウィンドウは、 このウィンドウが閉じられるまで動作しません。 デフォルト= True |
popup_get_textのサンプルコード
実際に、popup_get_textを表示させてみましょう。
#!usr/bin/env python
# -*- coding: utf-8 -*-
import PySimpleGUI as sg
text = sg.popup_get_text('名前を入力してください', 'ウィンドウタイトル')
sg.popup('入力結果', 'あなたの名前は、。。。。', text)
実行すると、以下のポップアップが表示されます。
入力領域に、なにか文字を入れて、OKを押してください。
そうすると、入力結果が表示されます。
popup_get_file
ユーザーから1つ以上のファイル名を取得します。
表示するダイアログボックスの種類を構成するオプションがあります。
通常、「ファイルを開く」ダイアログボックスが表示されます。
ユーザーがファイルを選択できるように、テキスト入力フィールドと参照ボタンを備えたポップアップウィンドウを表示します。
popup_get_file(
message,
title = None,
default_path = "",
default_extension = "",
save_as = False,
multiple_files = False,
file_types = (('ALL Files', '*.*'),),
no_window = False,
size = (None, None),
button_color = None,
background_color = None,
text_color = None,
icon = None,
font = None,
no_titlebar = False,
grab_anywhere = False,
keep_on_top = False,
location = (None, None),
initial_folder = None,
image = None,
files_delimiter = ";",
modal = True
)
名前 | タイプ | 意味 |
message | str | 表示するメッセージ |
title | str | ウィンドウタイトル |
default_path | str | 開始点としてユーザーに表示するパス (入力フィールドに入力) |
default_extension | str | ユーザーが拡張子を入力していない場合は、 これをファイル名に追加します (saveasダイアログでのみ使用されます) |
save_as | bool | Trueの場合、 上書きする前に確認する「名前を付けて保存」 ダイアログが表示されます |
multiple_files | bool | Trueの場合、 「;」で返される複数のファイルを選択できます。 各ファイル名の間 |
file_types | タプル[タプル[str、str]] | ワイルドカードを使用して表示する拡張機能のリスト。 すべてのファイル(デフォルト)=(( “ALL Files”、 ” 。 “)、) |
no_window | bool | Trueの場合、 PySimpleGUIウィンドウは表示されません。 代わりに、tkinterダイアログのみが表示されます |
size | (int、int) | InputText要素の(幅、高さ) |
button_color | タプル[str、str] またはstr | ボタンの色(テキスト、背景) |
background_color | str | ウィンドウ全体の背景色 |
text_color | str | テキストの色 |
icon | バイトまたはstr | ウィンドウのアイコンに使用されるファイル名 またはbase64文字列 |
font | strまたは Tuple [str、int] | フォントファミリー、サイズなどを指定します |
no_titlebar | bool | Trueの場合、タイトルバーは表示されません |
grab_anywhere | bool | Trueの場合、 ウィンドウを移動するためにどこでもつかむことができます (デフォルト= False) |
keep_on_top | bool | Trueの場合、 ウィンドウは現在のすべてのウィンドウの上に残ります |
location | タプル[int、int] | ウィンドウの左上隅の位置 |
initial_folder | str | ブラウジングを開始するファイルシステム内の場所 |
image | strまたはbytes | ポップアップウィンドウの上部に含める画像 |
files_delimiter | str | 複数のファイルが選択されたときにファイル間に配置する文字列。 通常は、”;” |
modal | bool | Trueの場合、 ポップアップはモーダルウィンドウのように動作します 他のすべてのウィンドウは、 このウィンドウが閉じられるまで動作しません。 デフォルト= True |
popup_get_fileのサンプルコード
popup_get_fileのポップアップを表示させてみます。
#!usr/bin/env python
# -*- coding: utf-8 -*-
import PySimpleGUI as sg
text = sg.popup_get_file('ファイルを指定してください。')
sg.popup('結果', '選択されたファイルは、以下です。', text)
実行すると、以下の図のようなポップアップが表示されます。
Browseを押すと、いつものファイル選択ダイアログが表示されます。
popup_get_folder
フォルダ名を取得するために作成されたウィンドウは、ファイル名を取得するのと同じように見えます。
違いは、参照ボタンの機能にあります。
popup_get_fileは[ファイルを開く]ダイアログボックスをpopup_get_folder 示し、は[フォルダを開く]ダイアログボックスを示しています。
テキスト入力フィールドと参照ボタンを含むポップアップを表示して、フォルダを選択できるようにします。
popup_get_folder(
message,
title = None,
default_path = "",
no_window = False,
size = (None, None),
button_color = None,
background_color = None,
text_color = None,
icon = None,
font = None,
no_titlebar = False,
grab_anywhere = False,
keep_on_top = False,
location = (None, None),
initial_folder = None,
image = None,
modal = True
)
名前 | タイプ | 意味 |
message | str | 表示するメッセージ |
title | str | ウィンドウタイトル |
default_path | str | 開始点としてユーザーに表示するパス (入力フィールドに入力) |
no_window | bool | Trueの場合、 PySimpleGUIウィンドウは表示されません。 代わりに、tkinterダイアログのみが表示されます |
size | (int、int) | InputText要素の(幅、高さ) |
button_color | タプル[str、str] またはstr | ボタンの色(前景、背景) |
background_color | str | 背景の色 |
text_color | str | テキストの色 |
icon | バイトまたはstr | ウィンドウのアイコンに使用される ファイル名またはbase64文字列 |
font | strまたは Tuple [str、int] | フォントファミリー、サイズなどを指定します |
no_titlebar | bool | Trueの場合、 タイトルバーは表示されません |
grab_anywhere | bool | Trueの場合、 ウィンドウを移動するためにどこでもつかむことができます (デフォルト= False) |
keep_on_top | bool | Trueの場合、 ウィンドウは現在のすべてのウィンドウの上に残ります |
location | タプル[int、int] | ウィンドウの左上隅の位置 |
initial_folder | str | ブラウジングを開始するファイルシステム内の場所 |
image | strまたはbytes | ポップアップウィンドウの上部に含める画像 |
modal | bool | Trueの場合、 ポップアップはモーダルウィンドウのように動作します 他のすべてのウィンドウは、 このウィンドウが閉じられるまで動作しません。 デフォルト= True |
popup_get_folderのサンプルコード
#!usr/bin/env python
# -*- coding: utf-8 -*-
import PySimpleGUI as sg
text = sg.popup_get_folder('フォルダを選択してください。')
sg.popup(' 結果 ', ' 選択されたフォルダは、以下です。 ', text)
実行します。以下の図のようなポップアップが表示されます。
選択されたフォルダ場所が表示されます。
Pythonでプログラムを作るのなら、ラズパイが安くて、環境構築も楽で、おすすめです。
まとめ
今回は、Pythonライブラリである、PySimpleGUIで、GUIアプリに必要なポップアップを作成する方法を紹介しました。
コメント