マガジンのカバー画像

Pythonで作るGUI付きデスクトップアプリ講座

32
PySimpleGUIを使って、誰もが簡単にPythonでデスクトップアプリを開発出来る様に解釈していきます。これからデスクトップアプリを作るならPython+PySimpleG…
運営しているクリエイター

#GUI

Python+PySimpleGUIで作るGUIアプリ入門 Part23-入力制限の追加-

Python+PySimpleGUIで作るGUIアプリ入門 Part23-入力制限の追加-

入力制限の追加テキストエリアなどに入力制限をかけたい場合が出てきます。例えば、氏名のふりがななどを入力してもらう場合です。この場合は、ひらがなのみもしくはカタカタのみに入力制限をかけたくなります。PySimpleGUIのCook bookには数字のみ(郵便番号等)の例がありますが、ひらがなの場合がありませんでしたので、今回はひらがな入力制限を追加していきます。

図23-1に示すGUIを作成します

もっとみる
Python+PySimpleGUIで作るGUIアプリ入門 Part22-カレンダーからの入力-

Python+PySimpleGUIで作るGUIアプリ入門 Part22-カレンダーからの入力-

カレンダーからの入力日付を入力する際は、カレンダーから入力出来るようにすると便利です。PySimpleGUIでもカレンダー入力に対応しています。sg.CalendarButton (‘Date‘,target(‘カレンダー入力を反映したいウィジェットのキー‘))として設定する事が出来ます。カレンダー入力を反映したいウィジェットですが、今回はInputTextに反映させることにします。

新サイトへ

もっとみる
Pythonで作るGUIアプリ入門 Part20 -ボタン画像の設定-

Pythonで作るGUIアプリ入門 Part20 -ボタン画像の設定-

ボタン画像の設定ボタンには画像を設定する事も出来ます。指定出来る画像形式は、JPGとPNGのみとなります。sg.Button(image_filename=’画像のパス’)として設定する事が出来ます。

図20-1のような再生ボタンを設置したGUIウィンドウを作成します。再生ボタンを押すと図20-2のようなポップアップが表示されるようにします。

コードは、以下の通りとなります。

import

もっとみる
Pythonで作るGUIアプリ入門 Part1 -Popupの表示-

Pythonで作るGUIアプリ入門 Part1 -Popupの表示-

Pythonをいざ実務に活かそうと思った時に、GUI付きのアプリが作成出来たらなと思ったことはありませんか?
PythonでもGUI付きデスクトップアプリをとても簡単に作成する事ができます。必要な準備は、PysimpleGUIのインストールだけになります。pip もしくはconda でインストールします。

どれほど簡単かを取り敢えず、以下のコードで試してみましょう。

import PySimp

もっとみる
Pythonで作るGUIアプリ 番外編

Pythonで作るGUIアプリ 番外編

今回は、番外編としてGUI付きデスクトップアプリの応用例を紹介いたします。先日、少し時間が取れたため世界一高精度な翻訳ツールであるDeepLを使ってKindle電子書籍の翻訳(英語→日本語)のアプリをPySimpleGUIを使って作成してみました。

きっかけは、英語の技術書をKindleで読んでいたところぬるっぽ様が開発された翻訳支援ツールPCOTを知りDeepL翻訳と連携されたアプリで非常に面

もっとみる
Pythonで作るGUIアプリ入門 Part2 -Windowとウィジェット-

Pythonで作るGUIアプリ入門 Part2 -Windowとウィジェット-

PySimpleGUIの基本的な構成PysimpleGUIの基本的な構成を以下の図で説明します。以下は、3つのウィジェットで構成されるとてもシンプルなウィンドウとなっています。

上記画像に示す全体をウィンドウ(Window)と呼びます。こちらがGUI部分になります。Windowは、タイトルを持ち、緑枠で囲まれたレイアウトエリアを持っています。
このレイアウトエリアに様々なウィジェット(Widge

もっとみる
Pythonで作るGUIアプリ入門 Part3 -ボタンとイベントの追加-

Pythonで作るGUIアプリ入門 Part3 -ボタンとイベントの追加-

ボタンへのイベント追加レイアウトにボタンを設置するだけでは、イベントは何も発生しません。ボタンが押された時に、ポップアップを表示させたり、何か別の処理を開始するためにはイベントをボタンに追加する必要があります。

GUIレイアウトの作成

GUIのレイアウトを作成しましょう。Part2で学んだように、以下のコードのようにボタンをレイアウトに設置してウィンドウに表示させます。ウィンドウのサイズはWi

もっとみる
Pythonで作るGUIアプリ入門 Part4 -ウィジェットにキーを設定-

Pythonで作るGUIアプリ入門 Part4 -ウィジェットにキーを設定-

ウィジェットにキーを設定Part3では以下のコードで、ウィンドウにボタンを表示し、’ポップアップを表示’ボタンを押した場合にポップアップが表示されます。

import PySimpleGUI as sglayout = [ [sg.Button('ポップアップを表示')]]window = sg.Window('ボタンにイベントを追加', layout, size=(200, 50))wh

もっとみる
Pythonで作るGUIアプリ入門 Part5 -インプットテキストから値の取得-

Pythonで作るGUIアプリ入門 Part5 -インプットテキストから値の取得-

インプットテキストから値の取得インプットテキストに入力された値を取得してみましょう。インプットテキストの値は、以下のコードではeventではなくvalueに格納されます。

event, value = window.read()

value[‘key‘] とする事で、’key’のキーを持つウィジェットの値を参照できます。取得できる値は、インプットテキストの値だけではありません。ラジオボタン、

もっとみる
Pythonで作るGUIアプリ入門 Part6 -ラジオボタンの設定-

Pythonで作るGUIアプリ入門 Part6 -ラジオボタンの設定-

ラジオボタンの設定ラジオボタンを使用すれば、複数の選択肢の中から1つだけ選んでもらいたいときに使用出来ます。
ラジオボタンは、sg.Radio(text, group_id)で設定する事が出来ます。textには、選択肢を文字列で入力します。 group_idは、ラジオボタンのグループであり、同一のグループで1つだけ選択できるように制約を加えます。

旅の目的地をラジオボタンで選び、選んだ結果をポッ

もっとみる
Pythonで作るGUIアプリ入門 Part7 -チェックボックスの設定-

Pythonで作るGUIアプリ入門 Part7 -チェックボックスの設定-

チェックボックスの設定チェックボックスを使用すれば、いくつかある選択肢から複数の項目を選択する事が出来ます。
チェックボックスは、sg.Checkbox(text)で設定する事が出来ます。textには、選択肢を文字列で入力します。 ラジオボタンと異なり、複数選択できますのでグループIDは特に不要です。それぞれにキーを割り当てて特定します。

お気に入りのテーマパークをチェックボックスで選び、選んだ

もっとみる
Pythonで作るGUIアプリ入門 Part8 -ファイルブラウズの設定-

Pythonで作るGUIアプリ入門 Part8 -ファイルブラウズの設定-

ファイルブラウズの設定ファイルブラウズを使用して、特定のファイルを選択(絶対パスを取得)する事が出来ます。ファイルだけではなく、フォルダーについても同様に設定出来ますので、フォルダーブラウズについては後半で説明します。
ファイルブラウズは、sg.FileBrowse()でファイルブラウズボタンを設定する事が出来ます。

ファイルブラウズで任意のファイルを選択させて、インプットテキストに選択したファ

もっとみる
Pythonで作るGUIアプリ入門 Part9 -スピンの設定-

Pythonで作るGUIアプリ入門 Part9 -スピンの設定-

スピンの設定スピンはテキストボックスの隣に▲/▼の増減ボタンにより、リストもしくはタプルから1つを選択する事が出来ます。数値(年齢や数量)を入力してもらう時によく使用されます。スピンは、sg.Spin(values)でウィジェットを設定する事が出来ます。valuesには、リストもしくはタプルを指定します。

スピンウィジェットで年齢を入力し(図9-1)、その結果をポップアップで出力(図9-2)する

もっとみる
Pythonで作るGUIアプリ入門 Part10 -画像表示の設定-

Pythonで作るGUIアプリ入門 Part10 -画像表示の設定-

画像表示の設定GUI ウィンドウに任意の画像を表示させる事が出来ます。画像処理ライブラリのOpenCVなどを組み合わせれば、自分専用の画像処理アプリも作成出来るようになります。画像表示は、sg.Image(source)でウィジェットを設定する事が出来ます。sourceには、ファイル名を含む画像のパスを指定します。ただし、PySimpleGUIはpngとGIF形式しかサポートしていないので、JPE

もっとみる