Python3,Tkinter,sqlite3でGUIアプリ(家計簿ソフト)を作りたい
Python,Tkinter,sqlite3でGUIアプリ(家計簿ソフト)を作りたい。
CUIアプリだったら簡単に作れるけど、やはりユーザーにとって使いやすいのはGUIアプリ。GUIアプリは、Excel VBAのFormでよく作っていたけど、Pythonでは(簡単に)作れるのだろうか・・・?
ちなみに、開発環境はWindows10で。
要旨(開発方針)
今回作りたいアプリ
まずは、何を作りたいか。目的はGUIアプリを作ってみたい。本末転倒だが、題材はなんでもいいので、とりあえず簡単な家計簿アプリを作ってみることにする。というか、家計簿アプリだったら、Excel VBAのFormで充分な気もするが・・・。一応、クロスプラットフォームに対応させるためということに位置付けよう。
Pythonのバージョン
Pythonのバージョンで微妙な違いがある。WEBの情報も、Python2系で書かれた情報だと、Python3系で動かないし、時々行き詰る。
職場のPythonは2系だから、2系に使い慣れているんだけど、今後の大勢はやはり3系なんだろうか。print文に()をつけるのがめんどくさいが、今回は3系(最新は3.6か?)でやってみよう。
別に、今回作るアプリに、4GBもメモリ食わせないので、32bit版でいいだろうか。
GUIを作る部分
とりあえず、googleで「Python GUI」や「Python GUI おすすめ」で検索してみると、次の3つがメジャーらしい。
Tkinterは、Python標準モジュールで、PyQtとwxPythonは、サードパーティらしい。インストールとか大変なので、とりあえずTkinterから攻めてみて、限界を感じたら別のものを試してみたい。
データベース
データベース部分はどうしよう。Excel VBAで作ってしまえば、シートにそのままデータを格納してしまえばいいし、Accessと連接させてもいい。GUI問題も解決。やっぱり、Excel VBAの開発性というか生産性はすごいと思う。WindowsでExcelインストールされていないPCなんて今時ないでしょ?MacだってExcel VBA使えるし。
脱線したが、DB候補は次の3つに。
- sqlite3
- MySQL
- PostgreSQL
sqlite3は、標準モジュール。MySQLは前に大学の実習で使ったことある程度でPostgreSQLは職場で使っている程度。両方ともオープンソース。やったことないが、Pythonからも動かせる。
GUIと同様に、とりあえず標準モジュールのsqlite3でやってみよう。
IDE(開発環境)
開発環境ってなにがいいの?
- メモ帳
- IDLE
- Visual Studio
- PyScripter
「男はだまってメモ帳!」といいたいところだが(笑)。。。なにがいいだろうか。IDLEは標準IDEだが、デバッグが大変。だが、職場ではIDLEしか使っていない。
ほかには、Visual Studioとか商用大規模じゃなければフリーで使えるし有名だけど、インストールとか大変そう。というか、IDEの使い方を覚えるので体力消耗しそう。
PyScripterは評判はいいけど、Python3.6に対応していない。調べてみると、2.7と3.4までは対応しているとか。わざわざバージョンダウンするのも面倒なので、標準(IDLE)で攻めます。
まとめ(開発方針)
- 開発環境はWindows10
- 家計簿ソフトを作る
- GUIアプリ
- バージョンは、Python3.6 (32bit)
- すべて標準モジュールで開発してみる。
質問や記事の間違いがありましたらコメントお願いします。
次の記事
アプリ開発の設計【python tkinter sqlite3で家計簿を作る】 - memopy