見出し画像

[Python]PySimpleGUIの技術同人誌書きました!(まえがき+目次公開)

ホッタです。

2024年1月から、ノンプロ研で技術ライティング講座を受講していました。このたび、その講座のゴールでもある技術同人誌を書きましたので、このnoteで紹介したいと思います。

この技術同人誌は、今月(2024年5月)に開催される技書博10と技術書典16で購入できます。技書博は会場でしか購入できませんが、技術書典16ではオンラインマーケットで購入できますので、遠方の方は技術書典のオンラインマーケットをご活用ください。


技術同人誌を書いたきっかけ

ノンプロ研では、ITやプログラミングに関するさまざまな講座があります。その中の1つである技術ライティング講座では、技術に関するアウトプットを学ぶことができます。
その技術ライティング講座の最終目標は、技術同人誌を書いて出版することです。講座のすべての課題をこなすと技術同人誌の企画が完成するという仕組みになっています。

過去にノンプロ研では13冊もの技術同人誌を世に送り出してきました。私も今まではそれを読む側でしたが、執筆されたみんなが楽しそうだったので、いい経験になると思って書いてみることにしました。

実は、書く技術テーマは講座受講前から決まっていました。過去に私のnoteでも紹介している「PySimpleGUI」という、PythonでGUIを作るライブラリに関する書籍です。

これは私のお気に入りのライブラリで、PythonでSimpleなGUIが作れるものです。実際に使用されている方も多く、ブログでもよく見かけますし、商業本も出ています。

しかし、このライブラリはかなり機能が豊富であり、すべてを説明しようとすると分厚い本が1冊書けてしまうくらいです。でもノンプログラマーにとっては、最低限の機能をコンパクトに、かつある程度まとまった情報を紹介するコンテンツが必要と思ってこの本を書きました。

はじめに

ここからはこの本のまえがき全文を公開します。この本の概要や、読むために必要な前提知識が書かれていますので、書籍購入の判断材料にしていければと思います。

では行ってみましょう~


Welcome

Pythonは最近人気のプログラミング言語です。Pythonはデータ分析、機械学習やWebアプリ制作など、幅広い用途に使われています。

また、私たちの仕事を楽にするさまざまな自動化、効率化プログラムも作成できます。初学者向けの書籍や動画教材もたくさんあり、ノンプログラマーでも業務自動化ツールを作ることができます。

このような、みなさんがPythonを学習するための教材では、プログラム実行はprint関数での表示やinput関数での入力など、テキストベースで実行することが多いと思います。

一方、みなさんがパソコンでよく使うExcelやWebブラウザのようなアプリケーションを実行するときはどうでしょうか。アプリケーションを起動するとGUI(グラフィカルユーザーインターフェース)という専用の画面が出てきて、ボタンやメニューなどを選択することで実行や入力ができると思います。

このように、パソコンにインストールして実行するソフトウェアのことを、デスクトップアプリケーションソフトウェア(デスクトップアプリ)といいます。

みなさんがPythonで作ったツールも、殺風景なテキストではなくデスクトップアプリとしてGUIで操作したり表示できたらカッコいいですよね。自分だけではなく、他の人にも使ってもらいやすくなります。

でも、GUIなんて作るの大変そうだし、デザインは苦手だと思う方もいるかもしれません。私もデザインは苦手で、GUIを作るのがあまり得意ではありません。

そこでPythonが誇る豊富なライブラリの出番です。PythonにはGUIを作るためのライブラリがいくつかあります。その中で私がオススメしたいのは「PySimpleGUI」というライブラリです。

PySimpleGUIは、その名の通りシンプルなコードでGUIが作れるPythonのライブラリです。このライブラリを使うことで、短いコードできれいなGUIが作れます。デフォルト設定でも見栄えが良く、細かいデザインを気にしなくても大丈夫です。

一番最初に出てきた「ようこそPySimpleGUIの世界へ!!」のメッセージボックスは、このライブラリで作ったものです。実はこれ、2行のコードでつくれちゃうんです。

この本は、デスクトップアプリをはじめて作る人が、GUIで以下のことができるようになることを目的としています。

  • どのようなGUIが作れるのかをざっと把握できる

  • GUIを作るためのコードの書き方を理解し、自分のツールに応用できる

PySimpleGUIを使ってみなさんがPythonで作ったツールをGUI上で操作・表示することで、簡単なデスクトップアプリを作ることができます。

なお、この本は以下の知識がある方を対象としています。

  • Pythonの基本文法を理解し、簡単なプログラムを作成できる方

  • パソコンにPythonの環境構築ができる方
    (PySimpleGUIはGoogle Colaboratoryでは実行できません)

この本で使うPythonの文法は、変数・ループ・条件分岐・関数の呼び出し・リスト・辞書です。Pythonの文法については説明しませんが、Pythonの入門書で学習したり、初心者向けの講座を受講された方であれば問題なく理解できると思います。

この本は、すべてを読む必要はありません。はじめてPySimpleGUI環境構築から行う人は1章から順番に読んでいただいて構いませんが、ある程度GUIが作れるようになったら、必要なときに必要なところだけ読むスタイルでOKです。

すでにいくつかのGUIが作れる方であれば、2章で作りたい部品を探して、4章でそのコードの書き方を調べる使い方で十分かと思います。

Good luck!

目次

ここでは目次を公開します。どんなGUIが作れるのかがざっとわかると思います。

  1. PySimpleGUIについて
    1.1. PySimpleGUIとは
    1.2. なぜPySimpleGUIなのか
    1.3. 開発環境
    1.4. インストール方法

  2. PySimpleGUIで作れるもの

  3. PySimpleGUIの基本的なコード構成

  4. 基本的な部品の作り方
    4.1. ポップアップウィンドウ
    4.1.1. popup(OKボタンのみのポップアップウィンドウ)
    4.1.2. popup_yes_no(Yes/Noボタンのポップアップウィンドウ)
    4.1.3. popup_get_text(テキスト入力のポップアップウィンドウ)
    4.1.4. popup_get_file(ファイル入力のポップアップウィンドウ)
    4.2. データ表示
    4.2.1. Text(文字列表示)
    4.2.2. Image(画像表示)
    4.2.3. Table(テーブル表示)
    4.3. テキスト入力
    4.3.1. Input(文字列入力)
    4.3.2. Multiline(複数行文字入力)
    4.4. ボタン
    4.4.1. Button(ボタン)
    4.4.2. FileBrowse(ファイル選択ボタン)
    4.4.3. FolderBrowse(フォルダ選択ボタン)
    4.5. 選択入力
    4.5.1. Checkbox(チェックボックス)
    4.5.2. Radio(ラジオボタン)
    4.5.3. Spin(スピン)
    4.5.4. Combo(コンボ)

  5. 便利な機能
    5.1. 部品のキー設定方法
    5.1.1. イベントをキーで取得する方法
    5.1.2. データをキーで取得する方法
    5.2. 部品更新方法

  6. 付録
    6.1. バージョン5対応について
    6.2. 参考サイト

  7. おわりに

まとめ

今回は技術同人誌の内容を一部紹介させて頂きました。

いかがでしたでしょうか。内容が気になる方はぜひお手にとっていただければと思います。

5月12日の技書博(蒲田)と5月26日の技術書典オフライン会場(池袋)では、私も売り子をさせて頂く予定です。ぜひノンプロ研のブースにお立ち寄りください。立ち読みもできますよ~

あらためて技書博と技術書典のリンクを貼っておきます。ご参考まで。
どちらも当日会場参加には事前申込が必要ですので、ご注意ください。

最後まで読んで頂き、ありがとうございました。