Upgrade to Pro — share decks privately, control downloads, hide ads and more …

PythonのスクリプトにGUIをつける方法

 PythonのスクリプトにGUIをつける方法

みんなのPython勉強会#55( https://startpython.connpass.com/event/169696/ )でのスライドです

紹介しているライブラリーとデモ、説明リスト
Eel: https://github.com/samuelhwilliams/Eel
デモ(@Sakaki333): https://www.sakaki333.com/blog/view/79
Eelで作ってみる WHOISアプリと スライド(@attakai): https://speakerdeck.com/attakei/eeldezuo-tutemiru-whoisapurito-suraido

PySimpleGUI: https://pysimplegui.readthedocs.io/en/latest/
デモで使ったアルゴリズム:https://pysimplegui.readthedocs.io/en/latest/
デモ: https://github.com/okajun35/for_pycon_shizu/tree/master/example/08_asci_art
Tkinterを使うのであればPySimpleGUIを使ってみたらという話: https://qiita.com/dario_okazaki/items/656de21cab5c81cabe59
Pythonでデスクトップアプリを簡単に作る方法: https://speakerdeck.com/okajun35/pythondedesukutotupuapuriwojian-dan-nizuo-rufang-fa

Pyinstaller: https://www.pyinstaller.org/

Jun okazaki

March 11, 2020
Tweet

More Decks by Jun okazaki

Other Decks in Technology

Transcript

  1. 回答例(目的がはっきりしている) • ゲームを作りたい • Pygames(https://www.pygame.org/news) • Pyxel (https://github.com/kitao/pyxel/blob/master/README.ja.m d) •

    CGソフト、3D系のゲームエンジンで使用したい場合 • Pyside2(Qt for Python)(https://wiki.qt.io/Qt_for_Python) 9
  2. 選んだ経緯 • Webの知識が身につくもの • html,CSS,JavaScriptの知識が身につく • テキストが豊富(webだから) • インストールが簡単なもの •

    Pip install eel と Googole Chromeのインストールでできる • しくみが簡単 • PythonとJavaScriptの連携で可能 17
  3. PySimpleGUIの紹介 • https://pysimplegui.readthedocs.io/en/latest/ • 2018年にできたライブラリー • TkinterのラッパーでPythonライクに書けるのが特徴 • 派生でwxPython、PyQtのラッパーライブラリーも存在 •

    公式では元のライブラリで書くのに比べてコード量が1/2~1/10になると説明 • Githubでは3,000スター • ライセンスはLGPL-3.0 • Windows,Mac,Linuxのクロスドメイン対応 19
  4. 選んだ経緯 • Pythonのみでかける • インストールが簡単なもの • pip install pysimpleguiのみ •

    tkinterはPythonのインストール時に標準で入ってくる • 仕組みが簡単 • レイアウトの細かいことはPySimpleGUI内で自動でしてくれる 22
  5. Pyinstaller • 配布用にexe,appにパッケージ化するライブラリ • https://www.pyinstaller.org/ • 配布用に使用する • 設定が難しい場合がある •

    実行動作が遅くなる • 初心者は使用しない方がよい • 配布するなら、pip freezeしたものをrequirements.txtで配布したほ うがよい ※ユーザーはPythonのインストール+ライブラリーのインストールで使用してもらう 24
  6. おまけ:スマホアプリを作るなら • 個人でのみ使いたい場合 • Andoriod ・・・PyDroid3 • iOS ・・・Pythonista3 •

    Google PlayやApp Storeに配布したい場合 • UIは、Java,Kotlin,Swift,ReactNativeなどを使用する • Pythonを使用する場合はAPIサーバを立ててリクエストで入出力する • Kivy,PyBeeなどのPythonライブラリは初心者は使用しない方が無難 28