<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>デスクトップアプリ  |  Python-memo｜自動化・AI・Web開発の実験室</title>
	<atom:link href="https://python.cbagames.jp/tag/%e3%83%87%e3%82%b9%e3%82%af%e3%83%88%e3%83%83%e3%83%97%e3%82%a2%e3%83%97%e3%83%aa/feed/" rel="self" type="application/rss+xml" />
	<link>https://python.cbagames.jp</link>
	<description>Pythonで、できるをふやそう。</description>
	<lastBuildDate>Sat, 14 Jun 2025 02:43:28 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.1</generator>

<image>
	<url>https://python.cbagames.jp/wp-content/uploads/2025/06/cropped-497d491d54402de785c9e043bfa0620a-32x32.png</url>
	<title>デスクトップアプリ  |  Python-memo｜自動化・AI・Web開発の実験室</title>
	<link>https://python.cbagames.jp</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>初心者向けPythonデスクトップアプリ開発｜PySimpleGUIで簡単GUI作成！</title>
		<link>https://python.cbagames.jp/2025/06/14/python-desktop-app-pysimplegui/</link>
					<comments>https://python.cbagames.jp/2025/06/14/python-desktop-app-pysimplegui/#respond</comments>
		
		<dc:creator><![CDATA[asukapy]]></dc:creator>
		<pubDate>Sat, 14 Jun 2025 02:43:28 +0000</pubDate>
				<category><![CDATA[Python入門]]></category>
		<category><![CDATA[GUI]]></category>
		<category><![CDATA[PySimpleGUI]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Web API連携]]></category>
		<category><![CDATA[アプリ開発]]></category>
		<category><![CDATA[デスクトップアプリ]]></category>
		<category><![CDATA[初心者向け]]></category>
		<guid isPermaLink="false">https://python.cbagames.jp/?p=301</guid>

					<description><![CDATA[目次 1. はじめに｜PythonでGUIアプリ作ってみたい人へ▶ 例えば、こんなアプリが作れます！2. PySimpleGUIとは？｜簡単＆シンプルにGUI開発▶ PySimpleGUIのここがスゴイ！▶ どんな場面で [&#8230;]]]></description>
										<content:encoded><![CDATA[

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2"><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">1. はじめに｜PythonでGUIアプリ作ってみたい人へ</a><ol><li><a href="#toc2" tabindex="0">▶ 例えば、こんなアプリが作れます！</a></li></ol></li><li><a href="#toc3" tabindex="0">2. PySimpleGUIとは？｜簡単＆シンプルにGUI開発</a><ol><li><a href="#toc4" tabindex="0">▶ PySimpleGUIのここがスゴイ！</a></li><li><a href="#toc5" tabindex="0">▶ どんな場面で使えるの？</a></li></ol></li><li><a href="#toc6" tabindex="0">3. PySimpleGUIの基本構成と使い方</a><ol><li><a href="#toc7" tabindex="0">🔷 1. Window（ウィンドウ）</a></li><li><a href="#toc8" tabindex="0">🔷 2. Element（エレメント）</a></li><li><a href="#toc9" tabindex="0">🔷 3. Layout（レイアウト）</a></li><li><a href="#toc10" tabindex="0">💡 ワンポイント：エレメントのkeyとは？</a></li></ol></li><li><a href="#toc11" tabindex="0">4. 実践｜簡単なフォームアプリを作ってみよう</a><ol><li><a href="#toc12" tabindex="0">💻 完成イメージ</a></li><li><a href="#toc13" tabindex="0">🔧 ステップ1：ライブラリのインストール</a></li><li><a href="#toc14" tabindex="0">🧱 ステップ2：Pythonコードを書いてみよう</a></li><li><a href="#toc15" tabindex="0">🔍 コードのポイント解説</a></li><li><a href="#toc16" tabindex="0">✅ 実行方法</a></li></ol></li><li><a href="#toc17" tabindex="0">5. 応用｜Web APIと連携して住所取得アプリを作成</a><ol><li><a href="#toc18" tabindex="0">💡 Web APIってなに？</a></li><li><a href="#toc19" tabindex="0">🔧 必要なライブラリ</a></li><li><a href="#toc20" tabindex="0">💻 コード全体（郵便番号→住所アプリ）</a></li><li><a href="#toc21" tabindex="0">🔍 コードのポイント</a></li><li><a href="#toc22" tabindex="0">🧪 試してみよう！</a></li><li><a href="#toc23" tabindex="0">🎯 このアプリで学べること</a></li></ol></li><li><a href="#toc24" tabindex="0">6. テーマカラーの変更で見た目も自由に</a><ol><li><a href="#toc25" tabindex="0">🎨 テーマ変更はたった1行でOK！</a></li><li><a href="#toc26" tabindex="0">📚 主なテーマ一覧（おすすめ）</a></li><li><a href="#toc27" tabindex="0">🧪 実験してみよう！</a></li></ol></li><li><a href="#toc28" tabindex="0">7. まとめ｜PySimpleGUIでアプリ開発を始めよう</a><ol><li><a href="#toc29" tabindex="0">✅ 今回のおさらい</a></li><li><a href="#toc30" tabindex="0">🎯 これからできることは無限大！</a></li><li><a href="#toc31" tabindex="0">あわせて読みたい</a></li></ol></li><li><a href="#toc32" tabindex="0">よくある質問（Q&amp;A）</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">1. はじめに｜PythonでGUIアプリ作ってみたい人へ</span></h2>



<p>こんにちは！Pythonを勉強していると、次のように思ったことはありませんか？</p>



<p>「そろそろ、何か“見た目のある”アプリを作ってみたい！」<br>「ターミナルじゃなくて、ボタンや入力欄があるアプリってどうやって作るの？」</p>



<p>そんなあなたにおすすめなのが <strong>「PySimpleGUI（パイ・シンプル・ジーユーアイ）」</strong> というライブラリです。</p>



<p>PySimpleGUIを使えば、<strong>誰でも簡単にデスクトップアプリを作ることができます</strong>。<br>しかも、PythonだけでOK！HTMLやCSS、JavaScriptなどの知識は必要ありません。</p>



<h3 class="wp-block-heading"><span id="toc2">▶ 例えば、こんなアプリが作れます！</span></h3>



<ul class="wp-block-list">
<li>クリックしてデータを表示する<strong>ツール系アプリ</strong></li>



<li>入力欄に文字を入れて計算する<strong>ミニアプリ</strong></li>



<li>Web APIと連携して郵便番号から住所を取得する<strong>便利アプリ</strong></li>
</ul>



<p>…などなど、<strong>自分のアイデアをすぐに形にできる</strong>のが大きな魅力なんです！</p>



<p>このページでは、</p>



<ul class="wp-block-list">
<li>PySimpleGUIとは何か？</li>



<li>基本的な使い方（部品の配置・イベント処理など）</li>



<li>実際に簡単なGUIアプリを作ってみる手順</li>



<li>さらに、Web APIと組み合わせた応用アプリの例</li>
</ul>



<p>を、<strong>Python初心者でもわかるようにイチから丁寧に</strong>ご紹介します。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>


<p><script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-2494518121553371"
     crossorigin="anonymous"></script><br />
<ins class="adsbygoogle"
     style="display:block; text-align:center;"
     data-ad-layout="in-article"
     data-ad-format="fluid"
     data-ad-client="ca-pub-2494518121553371"
     data-ad-slot="2936039508"></ins><br />
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script></p>



<h2 class="wp-block-heading"><span id="toc3">2. PySimpleGUIとは？｜簡単＆シンプルにGUI開発</span></h2>



<p>PySimpleGUI（パイ・シンプル・ジーユーアイ）は、<strong>Pythonでデスクトップアプリを簡単に作れるGUIライブラリ</strong>です。</p>



<p>「GUI」とは、ボタンやテキストボックスなど**“見た目で操作できる”アプリ**のこと。たとえば、電卓アプリや設定画面などを思い浮かべてみてください。あれも全部GUIですね。</p>



<p>Pythonにはもともと「Tkinter」というGUIライブラリが標準で付いていますが……</p>



<p>「部品の配置がわかりにくい…」<br>「コードが長くて、何をしてるのかパッと見でわからない…」</p>



<p>と、初心者にはちょっとハードルが高めでした。</p>



<p>そこで登場するのが <strong>PySimpleGUI！</strong></p>



<h3 class="wp-block-heading"><span id="toc4">▶ PySimpleGUIのここがスゴイ！</span></h3>



<ul class="wp-block-list">
<li><strong>直感的で読みやすいコード</strong></li>



<li><strong>レイアウトは「リスト」形式で並べるだけ</strong></li>



<li><strong>日本語も問題なく表示OK</strong></li>



<li><strong>Tkinterの上に作られているから安定性もバッチリ！</strong></li>
</ul>



<p>たとえば、たったこれだけで「こんにちは！」と表示するウィンドウを作れちゃいます👇</p>



<pre class="wp-block-preformatted"><code>import PySimpleGUI as sg<br><br>layout = [[sg.Text("こんにちは！")], [sg.Button("閉じる")]]<br>window = sg.Window("サンプルアプリ", layout)<br><br>while True:<br>    event, values = window.read()<br>    if event == sg.WIN_CLOSED or event == "閉じる":<br>        break<br><br>window.close()<br></code></pre>



<p>どうですか？すっごくシンプルですよね。</p>



<h3 class="wp-block-heading"><span id="toc5">▶ どんな場面で使えるの？</span></h3>



<ul class="wp-block-list">
<li>Excel操作ツール（OpenPyXLと連携）</li>



<li>データ送信アプリ（Web APIと連携）</li>



<li>入力チェックやデータ変換アプリ　など</li>
</ul>



<p>業務効率化や、ちょっとした便利ツールを作るのにピッタリです。</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://python.cbagames.jp/wp-content/uploads/2025/06/9d9697ea94c9608a27d0bde31599ba86-150x150.jpg" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>それでは次に、<strong>PySimpleGUIでアプリを作る基本構成とその使い方</strong>を見ていきましょう！</p>
</div></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>


<p><script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-2494518121553371"
     crossorigin="anonymous"></script><br />
<ins class="adsbygoogle"
     style="display:block; text-align:center;"
     data-ad-layout="in-article"
     data-ad-format="fluid"
     data-ad-client="ca-pub-2494518121553371"
     data-ad-slot="2936039508"></ins><br />
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script></p>



<h2 class="wp-block-heading"><span id="toc6">3. PySimpleGUIの基本構成と使い方</span></h2>



<p>PySimpleGUIでアプリを作るときは、<strong>「部品（エレメント）」をウィンドウの中に並べていく</strong>という考え方が基本です。難しそうに聞こえるかもしれませんが、実際はとってもシンプル！</p>



<p>まずはPySimpleGUIの「3つの基本要素」をおさえておきましょう。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc7">🔷 1. Window（ウィンドウ）</span></h3>



<p>アプリの土台となる画面です。ここにテキストやボタンなどの部品を置いていきます。<br>たとえば「設定画面」や「検索フォーム」といった全体の囲いがこのWindowです。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc8">🔷 2. Element（エレメント）</span></h3>



<p>ウィンドウの中に配置する<strong>ボタン・ラベル・入力欄</strong>などの部品です。<br>PySimpleGUIには、よく使う部品がたくさん用意されています！</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>エレメントの種類</th><th>説明</th><th>コード例</th></tr></thead><tbody><tr><td>テキスト</td><td>文字を表示する</td><td><code>sg.Text("こんにちは")</code></td></tr><tr><td>入力欄</td><td>ユーザーの入力を受け取る</td><td><code>sg.InputText(key="-NAME-")</code></td></tr><tr><td>ボタン</td><td>クリックできるボタン</td><td><code>sg.Button("送信")</code></td></tr><tr><td>コンボボックス</td><td>選択肢をリストから選ぶ</td><td><code>sg.Combo(["A", "B"], key="-CHOICE-")</code></td></tr></tbody></table></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc9">🔷 3. Layout（レイアウト）</span></h3>



<p>エレメントの<strong>配置場所を指定するリスト</strong>です。<br>行単位で部品を並べるように考えるとわかりやすいです。</p>



<pre class="wp-block-preformatted"><code>layout = [<br>    [sg.Text("名前")],                # 1行目<br>    [sg.InputText(key="-NAME-")],     # 2行目<br>    [sg.Button("送信")]               # 3行目<br>]<br></code></pre>



<p>このように、<strong>「[]」で1行を表し、その中にエレメントを置いていく</strong>というスタイルです。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc10">💡 ワンポイント：エレメントのkeyとは？</span></h3>



<p>入力欄などのエレメントには、<code>key</code>という識別名をつけることで、あとで値を取り出すときに使います。<br>慣習的に <code>"-NAME-"</code> のようにハイフンと大文字で書くことが多いです。</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://python.cbagames.jp/wp-content/uploads/2025/06/9d9697ea94c9608a27d0bde31599ba86-150x150.jpg" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>ここまでで、PySimpleGUIの「部品を組み立てて、アプリを作る」というイメージが掴めてきましたか？</p>



<p>次は、いよいよ実際に<strong>簡単なフォームアプリ</strong>を作ってみましょう！</p>
</div></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>


<p><script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-2494518121553371"
     crossorigin="anonymous"></script><br />
<ins class="adsbygoogle"
     style="display:block; text-align:center;"
     data-ad-layout="in-article"
     data-ad-format="fluid"
     data-ad-client="ca-pub-2494518121553371"
     data-ad-slot="2936039508"></ins><br />
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script></p>



<h2 class="wp-block-heading"><span id="toc11">4. 実践｜簡単なフォームアプリを作ってみよう</span></h2>



<p>それではここからは、<strong>実際にPySimpleGUIを使ってミニアプリを作ってみましょう！</strong></p>



<p>今回作るのは、以下のような**「名前を入力 → 挨拶を表示」**するシンプルなフォームアプリです。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc12">💻 完成イメージ</span></h3>



<pre class="wp-block-preformatted"><code>[名前を入力してください]   （テキストボックス）<br><br>[ 挨拶を表示 ] ←ボタン<br><br>↓ ここに「こんにちは、〇〇さん！」と表示される<br></code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc13">🔧 ステップ1：ライブラリのインストール</span></h3>



<p>PySimpleGUIがまだインストールされていない場合は、ターミナルで以下のコマンドを実行してください。</p>



<pre class="wp-block-preformatted"><code>pip install PySimpleGUI<br></code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc14">🧱 ステップ2：Pythonコードを書いてみよう</span></h3>



<p>以下が、今回のミニアプリのコード全体です。</p>



<pre class="wp-block-preformatted">import PySimpleGUI as sg<br><br># レイアウトの定義<br>layout = [<br>    [sg.Text("名前を入力してください")],<br>    [sg.InputText(key="-NAME-")],<br>    [sg.Button("挨拶を表示")],<br>    [sg.Text("", size=(30,1), key="-OUTPUT-")]<br>]<br><br># Windowの作成<br>window = sg.Window("あいさつアプリ", layout)<br><br># イベントループ（アプリを動かし続ける）<br>while True:<br>    event, values = window.read()<br>    if event == sg.WIN_CLOSED:<br>        break<br>    elif event == "挨拶を表示":<br>        name = values["-NAME-"]<br>        message = f"こんにちは、{name}さん！"<br>        window["-OUTPUT-"].update(value=message)<br><br># 終了処理<br>window.close()<br></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc15">🔍 コードのポイント解説</span></h3>



<ul class="wp-block-list">
<li><code>sg.InputText(key="-NAME-")</code><br>　→ ユーザーが名前を入力する欄を作ります。</li>



<li><code>event, values = window.read()</code><br>　→ イベント（ボタン押下など）と、入力値を取得します。</li>



<li><code>values["-NAME-"]</code><br>　→ 入力欄の値を取得するには、<code>key</code>を使います。</li>



<li><code>window["-OUTPUT-"].update(value=...)</code><br>　→ テキスト表示エレメントの内容を、実行中に変更します。</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc16">✅ 実行方法</span></h3>



<p>Pythonファイル（例：<code>hello_app.py</code>）として保存し、ターミナルで以下を実行するとアプリが起動します。</p>



<pre class="wp-block-preformatted"><code>python hello_app.py<br></code></pre>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://python.cbagames.jp/wp-content/uploads/2025/06/9d9697ea94c9608a27d0bde31599ba86-150x150.jpg" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>ここまでで、<strong>あなたはGUIアプリの第一歩を踏み出しました！</strong></p>



<p>たったこれだけで、自分で動くデスクトップアプリを作れるなんて、すごくワクワクしませんか？</p>
</div></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>


<p><script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-2494518121553371"
     crossorigin="anonymous"></script><br />
<ins class="adsbygoogle"
     style="display:block; text-align:center;"
     data-ad-layout="in-article"
     data-ad-format="fluid"
     data-ad-client="ca-pub-2494518121553371"
     data-ad-slot="2936039508"></ins><br />
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script></p>



<h2 class="wp-block-heading"><span id="toc17">5. 応用｜Web APIと連携して住所取得アプリを作成</span></h2>



<p>ここからは、PySimpleGUIの応用編！<br><strong>外部のWeb APIと連携して、実用的なアプリを作ってみましょう。</strong></p>



<p>今回のテーマは、「郵便番号から住所を取得するアプリ」です。</p>



<p>郵便番号を入力すると、その住所を自動で表示してくれるアプリ<br>👉 実は、**無料のAPI「ZIP Cloud」**を使えば簡単にできます！</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc18">💡 Web APIってなに？</span></h3>



<p>Web API（ウェブエーピーアイ）は、<strong>インターネット越しにデータをやりとりできる仕組み</strong>のこと。<br>「郵便番号 → 住所」のように、入力に対して外部から情報をもらえる便利なサービスです。</p>



<p>Pythonでは <code>requests</code> というライブラリを使って、簡単にAPIにアクセスできます。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc19">🔧 必要なライブラリ</span></h3>



<p>まずは、以下のコマンドで <code>requests</code> をインストールしておきましょう。</p>



<pre class="wp-block-preformatted"><code>pip install requests<br></code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc20">💻 コード全体（郵便番号→住所アプリ）</span></h3>



<pre class="wp-block-preformatted">import PySimpleGUI as sg<br>import requests<br><br>def get_address(zip_code):<br>    url = f"https://zipcloud.ibsnet.co.jp/api/search?zipcode={zip_code}"<br>    res = requests.get(url)<br>    if res.status_code != 200:<br>        return "住所の取得に失敗しました"<br><br>    data = res.json()<br>    if data["results"] is None:<br>        return "該当する住所が見つかりません"<br><br>    result = data["results"][0]<br>    return f"{result['address1']}{result['address2']}{result['address3']}"<br><br># レイアウト定義<br>layout = [<br>    [sg.Text("郵便番号（7桁）"), sg.InputText(key="-ZIP-")],<br>    [sg.Button("住所検索")],<br>    [sg.Text("", size=(40,1), key="-RESULT-")]<br>]<br><br># ウィンドウ作成<br>window = sg.Window("住所検索アプリ", layout)<br><br>while True:<br>    event, values = window.read()<br>    if event == sg.WIN_CLOSED:<br>        break<br>    elif event == "住所検索":<br>        zipcode = values["-ZIP-"].strip()<br>        if len(zipcode) != 7 or not zipcode.isdigit():<br>            window["-RESULT-"].update("正しい7桁の郵便番号を入力してください")<br>        else:<br>            address = get_address(zipcode)<br>            window["-RESULT-"].update(address)<br><br>window.close()<br></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc21">🔍 コードのポイント</span></h3>



<ul class="wp-block-list">
<li><code>get_address(zip_code)</code><br>　→ 郵便番号を使ってAPIを呼び出し、住所を取得する関数です。</li>



<li><code>res.json()</code><br>　→ APIのレスポンスはJSON形式。これを辞書として扱えます。</li>



<li><code>window["-RESULT-"].update(...)</code><br>　→ 取得した住所を画面に表示しています。</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc22">🧪 試してみよう！</span></h3>



<p>「1000001」など、実在する7桁の郵便番号を入力してみてください。<br>たとえば <code>1000001</code> は東京都千代田区の住所が返ってきます。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc23">🎯 このアプリで学べること</span></h3>



<ul class="wp-block-list">
<li>GUIと外部データを組み合わせる方法</li>



<li>API連携の基本（リクエスト・レスポンス処理）</li>



<li>ユーザー入力に応じたエラーチェックの考え方</li>
</ul>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://python.cbagames.jp/wp-content/uploads/2025/06/9d9697ea94c9608a27d0bde31599ba86-150x150.jpg" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>次は、アプリの**見た目をカスタマイズする方法（テーマカラーの変更）**を見ていきましょう！</p>
</div></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>


<p><script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-2494518121553371"
     crossorigin="anonymous"></script><br />
<ins class="adsbygoogle"
     style="display:block; text-align:center;"
     data-ad-layout="in-article"
     data-ad-format="fluid"
     data-ad-client="ca-pub-2494518121553371"
     data-ad-slot="2936039508"></ins><br />
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script></p>



<h2 class="wp-block-heading"><span id="toc24">6. テーマカラーの変更で見た目も自由に</span></h2>



<p>「PySimpleGUIで作ったアプリ、便利だけど見た目がちょっと地味かも…？」</p>



<p>そんな時におすすめなのが、<strong>テーマカラー（見た目のスタイル）を変える</strong>機能です！<br>これを使えば、<strong>アプリの雰囲気をガラッと変える</strong>ことができます。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc25">🎨 テーマ変更はたった1行でOK！</span></h3>



<p>PySimpleGUIには<strong>あらかじめ用意されたテーマ</strong>がたくさんあります。<br>変更方法はとても簡単で、<code>sg.theme()</code> を使うだけ！</p>



<pre class="wp-block-preformatted"><code>import PySimpleGUI as sg<br><br>sg.theme("DarkAmber")  # ここでテーマを設定！<br><br>layout = [[sg.Text("こんにちは")], [sg.Button("OK")]]<br>window = sg.Window("テーマサンプル", layout)<br></code></pre>



<p>このように、アプリのウィンドウを作る前に <code>sg.theme("テーマ名")</code> を書くだけで、見た目が変わります！</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc26">📚 主なテーマ一覧（おすすめ）</span></h3>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>テーマ名</th><th>特徴</th></tr></thead><tbody><tr><td>DarkAmber</td><td>落ち着いた茶系のダークテーマ</td></tr><tr><td>LightBlue</td><td>明るく爽やかなブルー系</td></tr><tr><td>DarkGrey13</td><td>スタイリッシュなグレーテーマ</td></tr><tr><td>Topanga</td><td>明るく見やすいグリーン系</td></tr><tr><td>DarkBlue3</td><td>青基調のクールなテーマ</td></tr></tbody></table></figure>



<p>👇テーマ一覧を確認するには、次のコードを使ってみてください：</p>



<pre class="wp-block-preformatted"><code>import PySimpleGUI as sg<br><br>print(sg.theme_list())  # 利用可能なテーマの一覧を表示<br></code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc27">🧪 実験してみよう！</span></h3>



<p>いろいろなテーマを試して、<strong>自分のアプリに合ったカラー</strong>を見つけてみてください。<br>背景色と文字色の組み合わせで、<strong>操作のしやすさや雰囲気も変わってきますよ！</strong></p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://python.cbagames.jp/wp-content/uploads/2025/06/9d9697ea94c9608a27d0bde31599ba86-150x150.jpg" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>見た目をカスタマイズするときは、<strong>文字が読みやすくなるように</strong>配慮するとGood！<br>たとえば背景が暗いときは文字を白く、明るい背景なら黒文字が基本です。</p>
</div></div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>


<p><script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-2494518121553371"
     crossorigin="anonymous"></script><br />
<ins class="adsbygoogle"
     style="display:block; text-align:center;"
     data-ad-layout="in-article"
     data-ad-format="fluid"
     data-ad-client="ca-pub-2494518121553371"
     data-ad-slot="2936039508"></ins><br />
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script></p>



<h2 class="wp-block-heading"><span id="toc28">7. まとめ｜PySimpleGUIでアプリ開発を始めよう</span></h2>



<p>おつかれさまでした！<br>ここまで読んでくれたあなたは、<strong>Pythonで自分だけのデスクトップアプリを作るための第一歩</strong>をしっかり踏み出せました🎉</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc29">✅ 今回のおさらい</span></h3>



<ul class="wp-block-list">
<li><strong>PySimpleGUIとは？</strong><br>　→ Python初心者でも簡単に使えるGUIライブラリ。コードがシンプルで直感的！</li>



<li><strong>基本構成と作り方</strong><br>　→ Window（ウィンドウ）とElement（部品）をレイアウト（リスト）で配置するだけ。</li>



<li><strong>フォームアプリで実践！</strong><br>　→ 入力・ボタン・テキスト表示の3要素で動くアプリを自作。</li>



<li><strong>API連携もできる！</strong><br>　→ ZIP CloudのAPIと連携して、郵便番号から住所を取得するアプリも簡単に。</li>



<li><strong>見た目のカスタマイズも自由！</strong><br>　→ <code>sg.theme()</code>を使えば、好きなテーマでオリジナル感を出せる！</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc30">🎯 これからできることは無限大！</span></h3>



<p>今回の知識を応用すれば、たとえばこんなアプリも作れます：</p>



<ul class="wp-block-list">
<li>簡単なToDoリスト管理アプリ</li>



<li>Excelデータを扱う入力フォーム（OpenPyXLと連携）</li>



<li>天気予報や株価を表示する情報アプリ（API連携）</li>



<li>自分専用のツールを友達に配布（PyInstallerで.exe化）</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading"><span id="toc31">あわせて読みたい</span></h3>



<p>以下の記事もあわせて読めば、アプリ作りの幅がさらに広がります！</p>



<ul class="wp-block-list">
<li>🔗 <a target="_blank" href="https://python.cbagames.jp/2025/06/11/python-custom-module-howto/">【Python入門】自作モジュールの作り方と使い方を初心者向けにやさしく解説！</a></li>



<li>🔗 <a target="_blank" href="https://python.cbagames.jp/2025/06/13/python-json-module-guide/">【Python入門】jsonモジュールの使い方｜JSONの読み書きと変換をやさしく解説！</a></li>



<li>🔗 <a target="_blank" href="https://python.cbagames.jp/2025/06/12/python-argparse-basic-guide/">Pythonのargparse入門｜コマンドライン引数を初心者向けにやさしく解説！</a></li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc32">よくある質問（Q&amp;A）</span></h2>



<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box not-nested-style cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content">PySimpleGUIは日本語に対応していますか？</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p>はい、<strong>日本語の表示・入力は問題なく対応しています</strong>。エンコードやフォントによっては表示が崩れることがありますが、基本的には日本語でも安心して使えます。</p>
</div></dd></dl></div>



<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box not-nested-style cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content">PySimpleGUIはWindows専用ですか？MacやLinuxでも使えますか？</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p>いいえ、<strong>Windows・Mac・Linuxすべて対応しています</strong>。PythonとTkinterが動作する環境であれば、PySimpleGUIもそのまま使えます。</p>
</div></dd></dl></div>



<div class="wp-block-cocoon-blocks-faq faq-wrap blank-box block-box not-nested-style cocoon-block-faq"><dl class="faq"><dt class="faq-question faq-item"><div class="faq-question-label faq-item-label">Q</div><div class="faq-question-content faq-item-content">ボタンを押したときの処理を増やしたいのですが、どうすればいいですか？</div></dt><dd class="faq-answer faq-item"><div class="faq-answer-label faq-item-label">A</div><div class="faq-answer-content faq-item-content">
<p><code>if event == "ボタン名":</code> の中に<strong>実行したい処理をそのまま書けばOK</strong>です。<br>関数を使って処理を分けても見やすくなります。</p>
</div></dd></dl></div>
]]></content:encoded>
					
					<wfw:commentRss>https://python.cbagames.jp/2025/06/14/python-desktop-app-pysimplegui/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
