Upload
hrwatahiki
View
771
Download
5
Embed Size (px)
DESCRIPTION
PyConJP2014 2014-09-13のLTで発表した、「Python で一般向けスタンドアロンアプリを作ってみた」のスライドです。発表のアプリは、http://sourceforge.jp/projects/pydun/ からダウンロードできます。
Citation preview
Pythonで一般向け
スタンドアロンアプリを作ってみた
綿引 博之@hrwatahiki
PyConJP2014
始める前に
今回作ったプログラムをダウンロードできます。
http://sourceforge.jp/projects/pydun/releases/
もしくは
「pydun 」
で検索してください。
始める前に
● Windows通常版がおすすめです。
● Linux版はライブラリがいろいろ必要なので、
Windows版をWine上で動かすのが
おすすめです。
● Macは持ってないんで試してません。
自己紹介
● 一応プログラマーです。● 茨城県の真ん中あたりに住んでます。
● 仕事ではPythonをほとんど使っていません。
● そもそも周りにPythonが分かる人がいない。
Pythonの印象
● 書きやすい。● 読みやすい。
● すごいプログラマーがかっこいいWebサービスとか
作るのに使ってそう。
● 一般人が簡単なGUI付きアプリ作るのは
どうなのか?
作ったアプリ
● 名前は「pydun」 (PYthon+DUNgeon)● 方眼紙の上に地図を描くのをコンピューター上で
やるアプリケーション
● わかる人向けに言うと、DSの「世界樹の迷宮」の
下画面
世界樹の迷宮ホームページより引用
作った理由
● 作者がゲーム好き● 同じようなことをやるプログラムは既にいくつか
あるが、処理が重かったり機能が少なかったりで
不満があった。
● Pythonの勉強のため
● リハビリ
アプリの目標
● Pythonでつくる(must)● プログラムのことがよくわからない
一般ユーザーでも使えるものにする(must)● セーブデータを互換性の高いものにする(should)● マルチプラットフォーム(may)● 自分が満足すること(???)
GUIライブラリ
● Tkinter
→見た目が残念、資料があまりないので、×● PyGTK(PyGObject)
→昔作ったことがある(Cだけど)ので、×● wxPython
→よさそう。本も買った(読んでない)● PyQt or PySide (Qt)
→よさそう。そういえば・・・
磯 蘭水さんがPyConJP2011で
「PyQtではじめるGUIプログラミング」
っていうのやってた。
Qt にしよう!!!
PyQt と PySide
● どちらもQtのPythonバインディング
● PyQtはGPL● PySideはLGPL● 作ったのはNokia(当時のQt所有者)● あまり違いはない。
(と思う。ちゃんとは調べてません。)● 後発のPySideにしました。
● 細かく制御する必要があるため、
GUIデザイナーは使いませんでした。
セーブファイル
● yamlにしました。
→テキストで、人間が読みやすい
→セーブファイル単体でも、地図として読めます
Windows用実行ファイルを作る
● 作成当時(2012年頃)の話です。
Py2exeはバージョンアップしてます。
● Py2exe
→ いろいろできるけど、設定ファイルを作るのが大変
● cx_Freeze● PyInstaller
→ドキュメントが分かりやすい(と思う)
コマンド1行で実行ファイルができる。
Python3以降には対応していない。
● PyInstallerにしました。
できた!
反省
● ソースが汚い、コメントが少ない。
● Python2になってしまった(PyInstallerを使うため)。● プログラミングに励むあまり、
ゲームをやる気力がなくなってしまった。
まとめ
● PythonとPySideを使って、スタンドアロンアプリを作りました。
● 楽しかったです。
● Python3に対応できるよう、よく考えよう。
● ご意見いただければ幸いです。(@hrwatahiki)