SlideShare une entreprise Scribd logo
1  sur  16
Télécharger pour lire hors ligne
Pythonで 
一般向け 
スタンドアロンアプリを 
作ってみた 
PyConJP2014 
綿引 博之 
@hrwatahiki
始める前に 
今回作ったプログラムをダウンロードできます。 
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)

Contenu connexe

En vedette

Pythonで電卓アプリ(デスクトップ)を作成する
Pythonで電卓アプリ(デスクトップ)を作成するPythonで電卓アプリ(デスクトップ)を作成する
Pythonで電卓アプリ(デスクトップ)を作成するJun Okazaki
 
Pythonで画面付きのアプリを作成する
Pythonで画面付きのアプリを作成するPythonで画面付きのアプリを作成する
Pythonで画面付きのアプリを作成するJun Okazaki
 
Pelicanによる www.python.jpの構築
Pelicanによる www.python.jpの構築Pelicanによる www.python.jpの構築
Pelicanによる www.python.jpの構築Atsuo Ishimoto
 
Python Data-Visualization Package Status
Python Data-Visualization Package StatusPython Data-Visualization Package Status
Python Data-Visualization Package StatusYukio Okuda
 
WindowsでPython
WindowsでPythonWindowsでPython
WindowsでPythondrillan
 
10分でわかるPythonの開発環境
10分でわかるPythonの開発環境10分でわかるPythonの開発環境
10分でわかるPythonの開発環境Hisao Soyama
 
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.kiki utagawa
 

En vedette (7)

Pythonで電卓アプリ(デスクトップ)を作成する
Pythonで電卓アプリ(デスクトップ)を作成するPythonで電卓アプリ(デスクトップ)を作成する
Pythonで電卓アプリ(デスクトップ)を作成する
 
Pythonで画面付きのアプリを作成する
Pythonで画面付きのアプリを作成するPythonで画面付きのアプリを作成する
Pythonで画面付きのアプリを作成する
 
Pelicanによる www.python.jpの構築
Pelicanによる www.python.jpの構築Pelicanによる www.python.jpの構築
Pelicanによる www.python.jpの構築
 
Python Data-Visualization Package Status
Python Data-Visualization Package StatusPython Data-Visualization Package Status
Python Data-Visualization Package Status
 
WindowsでPython
WindowsでPythonWindowsでPython
WindowsでPython
 
10分でわかるPythonの開発環境
10分でわかるPythonの開発環境10分でわかるPythonの開発環境
10分でわかるPythonの開発環境
 
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
Pythonの処理系はどのように実装され,どのように動いているのか? 我々はその実態を調査すべくアマゾンへと飛んだ.
 

PyConJP2014 LT Python で一般向けスタンドアロンアプリを作ってみた Pydun