【Python(PySimpleGUI)でGUIアプリ入門】入力ポップアップ(popup_get)の使い方

PySimpleGUI
けんろう
けんろう

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
)
名前タイプ意味
messagestr表示するメッセージ
titlestrウィンドウタイトル
default_textstr入力領域に入力するデフォルト値
password_charstr実際に入力された文字の代わりに表示される文字
size(int、int)InputText要素の(幅、高さ)
button_colorタプル[str、str]
またはstr
ボタンの色(テキスト、背景)
background_colorstrウィンドウ全体の背景色
text_colorstrメッセージテキストの色
iconバイトまたはstrウィンドウのアイコンに使用される
ファイル名またはbase64文字列
fontstrまたは
Tuple [str、int]
フォントファミリー、サイズなどを指定します
no_titlebarboolTrueの場合、タイトルバーは表示されません
keep_on_topboolTrueの場合、
ウィンドウは現在のすべてのウィンドウ
の上に残ります
locationタプル[int、int](x、y)ウィンドウの左上隅を表示する
画面上の位置
imagestrまたはbytesポップアップウィンドウの上部に含める画像
modalboolTrueの場合、
ポップアップはモーダルウィンドウのように動作します
他のすべてのウィンドウは、
このウィンドウが閉じられるまで動作しません。
デフォルト= 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
)
名前タイプ意味
messagestr表示するメッセージ
titlestrウィンドウタイトル
default_pathstr開始点としてユーザーに表示するパス
(入力フィールドに入力)
default_extensionstrユーザーが拡張子を入力していない場合は、
これをファイル名に追加します
(saveasダイアログでのみ使用されます)
save_asboolTrueの場合、
上書きする前に確認する「名前を付けて保存」
ダイアログが表示されます
multiple_filesboolTrueの場合、
「;」で返される複数のファイルを選択できます。
各ファイル名の間
file_typesタプル[タプル[str、str]]ワイルドカードを使用して表示する拡張機能のリスト。
すべてのファイル(デフォルト)=(( “ALL Files”、 ” 。 “)、)
no_windowboolTrueの場合、
PySimpleGUIウィンドウは表示されません。
代わりに、tkinterダイアログのみが表示されます
size(int、int)InputText要素の(幅、高さ)
button_colorタプル[str、str]
またはstr
ボタンの色(テキスト、背景)
background_colorstrウィンドウ全体の背景色
text_colorstrテキストの色
iconバイトまたはstrウィンドウのアイコンに使用されるファイル名
またはbase64文字列
fontstrまたは
Tuple [str、int]
フォントファミリー、サイズなどを指定します
no_titlebarboolTrueの場合、タイトルバーは表示されません
grab_anywhereboolTrueの場合、
ウィンドウを移動するためにどこでもつかむことができます
(デフォルト= False)
keep_on_topboolTrueの場合、
ウィンドウは現在のすべてのウィンドウの上に残ります
locationタプル[int、int]ウィンドウの左上隅の位置
initial_folderstrブラウジングを開始するファイルシステム内の場所
imagestrまたはbytesポップアップウィンドウの上部に含める画像
files_delimiterstr複数のファイルが選択されたときにファイル間に配置する文字列。
通常は、”;”
modalboolTrueの場合、
ポップアップはモーダルウィンドウのように動作します
他のすべてのウィンドウは、
このウィンドウが閉じられるまで動作しません。
デフォルト= 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
)
名前タイプ意味
messagestr表示するメッセージ
titlestrウィンドウタイトル
default_pathstr開始点としてユーザーに表示するパス
(入力フィールドに入力)
no_windowboolTrueの場合、
PySimpleGUIウィンドウは表示されません。
代わりに、tkinterダイアログのみが表示されます
size(int、int)InputText要素の(幅、高さ)
button_colorタプル[str、str]
またはstr
ボタンの色(前景、背景)
background_colorstr背景の色
text_colorstrテキストの色
iconバイトまたはstrウィンドウのアイコンに使用される
ファイル名またはbase64文字列
fontstrまたは
Tuple [str、int]
フォントファミリー、サイズなどを指定します
no_titlebarboolTrueの場合、
タイトルバーは表示されません
grab_anywhereboolTrueの場合、
ウィンドウを移動するためにどこでもつかむことができます
(デフォルト= False)
keep_on_topboolTrueの場合、
ウィンドウは現在のすべてのウィンドウの上に残ります
locationタプル[int、int]ウィンドウの左上隅の位置
initial_folderstrブラウジングを開始するファイルシステム内の場所
imagestrまたはbytesポップアップウィンドウの上部に含める画像
modalboolTrueの場合、
ポップアップはモーダルウィンドウのように動作します
他のすべてのウィンドウは、
このウィンドウが閉じられるまで動作しません。
デフォルト= 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アプリに必要なポップアップを作成する方法を紹介しました。

コメント

タイトルとURLをコピーしました