見出し画像

Pythonでできる簡単なデスクトップアプリの作り方

こんにちは!Smile☺︎です。
今回は、Pythonでできる簡単なデスクトップアプリの作り方を紹介していきます。

Pythonには、デスクトップアプリを作るためのライブラリがいくつかあり、Tkinter、Qt、WxPython、PySimpleGUIなどがあります。

今回は、コード量が少なく簡単にデスクトップアプリが作成できる、
PySimpleGUIを使ったデスクトップアプリの作り方を紹介していきます!

■PySimpleGUIをインストール

PySimpleGUIはPythonの標準ライブラリではない為、インストールが必要になります。
コマンドラインからpipコマンドまたはcondaを使ってインストールしましょう。

pip install PySimpleGUI

または、Python3の方は

pip3 install PySimpleGUI

でインストールしましょう。

Anacondaの方は、仮想環境に入り、以下のコマンドでインストールしましょう。

conda install -c conda-forge pysimplegui


■PySimpleGUIの簡単な使い方

「pip」or「pip3」or「conda」でライブラリをインストールしたら、
ライブラリをインポートして、PySimpleGUIが正しく利用できるか確かめてみてください。

import PySimpleGUI as sg
sg.popup("こんにちは。お元気ですか。", title="テスト")

すると、以下のようにダイアログが表示されれば、利用できています。


■簡単なアプリを作成

今回は、「入力した値をポップアップ表示させる」というアプリケーションを作っていきます。

まずは、全体のソースコードを記載します。

import PySimpleGUI as sg

# sg.theme()でGUIのデザインテーマを設定します
# sg.theme_previewer()
sg.theme('BluePurple')

layout =[[sg.Text('好きなことを書いてください。')], #1行目
         [sg.Text('表示内容'), sg.InputText(key='input_text', size=(20, 1))],#2行目
         [sg.Button('表示する', key='show')] #3行目
        ]

window = sg.Window('サンプル', layout, size=(300, 100))

while True:
    event, values = window.read()

    if event == sg.WIN_CLOSED: #ウィンドウのXボタンを押したときの処理
        break

    if event == 'show':
        sg.popup(values['input_text']) # InputTextで入力した値を取得してポップアップ表示させる

    
window.close()

それでは、各コードの説明をしていきます。
まずは、PySimpleGUIをsgという名前でインポートします。

import PySimpleGUI as sg

次に、sg.theme()でGUIのデザインテーマを設定します。
様々なテーマが用意されており、sg.theme_previewer()という関数をコールするとテーマ一覧を見ることができます。

# sg.theme_previewer()
sg.theme('BluePurple')

次に、layout=[]の中に部品とレイアウトに関するコードを書いていきます。
sg.Text()でテキストを表示
sg.InputText()で入力欄を表示
sg.Button()でボタンを表示

layout =[[sg.Text('好きなことを書いてください。')],
         [sg.Text('表示内容'), sg.InputText(key='input_text', size=(20, 1))],
         [sg.Button('表示する', key='show')]
        ]

layoutで幅300、高さ100のウィンドウを生成します。

window = sg.Window('サンプル', layout, size=(300, 100))

イベントループの中でイベントの発生を待ちます。
window.read()でイベントを受信します。イベントを受信したら、イベントによって行うべき処理を選択して実行します。

while True:
    event, values = window.read()

    if event == sg.WIN_CLOSED: #ウィンドウのXボタンを押したときの処理
        break

    if event == 'show':
        sg.popup(values['input_text']) # InputTextで入力した値を取得してポップアップ表示させる

最後に、close()メソッドでウィンドウを閉じます。

window.close()

これで、各コードの説明は以上になります。

PySimpleGUIには「クックブック」と呼ばれる使い方が書かれている公式ドキュメントがありますので、気になる方は、PySimpleGUIドキュメントをご覧ください。

最後まで記事を読んでいただきありがとうございます!
タメになった!」という場合はいいねをしてもらえると嬉しいです!😆

この記事が気に入ったらサポートをしてみませんか?