数ヶ月前からPythonを独学で学習していました。
まずはデスクトップアプリからPythonの学習を進めていましたが、Pythonでのデスクトップアプリ作成はここで諦めることにしました。
このページは、Pythonが「デスクトップアプリとして不向き」と判断した理由を解説しています。
※2023.10.19 コメントを頂きました。
「wxPython」の「wxFormbuilder」や「Gridクラス等」、デスクトップアプリが出来ないわけではないとのことです。諦めずにもう少しpython学習を続けてみます。
デスクトップアプリとは
ここで言うデスクトップアプリとは、それぞれのパソコンにアプリをインストールして、GUI画面を操作しながらデータの入力やデータの画面照会、レポートのプリントアウトなどを行うプログラムのことを言います。
また、デスクトップアプリと異なるアプリケーションの代表的なものとしては、Webアプリケーションがあります。
一般事務作業での使用を考えると、デスクトップアプリケーションはマウスなどを利用した操作性の良い画面が求められます。
デスクトップアプリのプログラミング言語の選定では、「操作性の良い入力画面が作れるか」がポイントになります。
Pythonでのデスクトップアプリ作成方法
Pythonでは何種類かのGUIライブラリが準備されていて、それを利用することでデスクトップアプリを作ることができます。
今回試したGUIライブラリは以下の2種類です。
- tkinter
Pythonに標準で組み込まれているライブラリ - PySimpleGUI
シンプルなコード
どちらのライブラリもコーディングで画面を作成します。
MicroSoft社の「Visual Studio」のようにマウスでデザインする方法とは異なります。
Pythonデスクトップアプリ作成を諦めた理由
Pythonデスクトップアプリ作成を諦めた直接的な原因は以下になります。
- 「表形式入力」の画面が作れない ← ※出来るとのコメントを頂きました
- tkinter以外のライブラリは情報量が少ない
- 「C#」や「Visual Basic」の方が使い安い
Pythonでは「表形式入力」画面が作れない
「表形式入力」画面と言うのは、MicroSoft社性のデータベースソフト「ACCESS」のフォームで作成できる画面です。
一覧表形式でデータを画面表示して、必要に合わせてデータを修正できる入出力画面です。
とても操作性が良いので、一般事務作業で使うアプリケーションのインターフェースには欠かせないタイプの画面です。
僕が試した限りでは、Pythonでは一覧表でデータ表示することはできましたが、修正削除は出来ませんでした。
参考までに「C#」や「Visual Basic」ではDataGridがこれに該当します。
Pythonはライブラリが多いのでどこかに「表形式入力」できる機能があるかもしれませんが、情報が少なく調べるのに一苦労です。
現時点では、そこまでしてPythonを使う理由はありません。
tkinter以外のライブラリは情報量が少ない
インターネットで調べるとPythonのGUIライブラリは10種類以上あるようです。
ですが、tkinter以外のライブラリは情報があまり見つかりません。
PySideというライブラリを使おうとしましたが、エラーが出てしましました。そのエラーをインターネットで調べましたが、日本語の情報はほとんど見つかりません。PySideの利用は諦めることにしました。
このPySideでエラーを解決できなかったことが、Pythonのデスクトップアプリを諦める直接的な原因になりました。
「C#」や「VisualBasic」のほうが使いやすい
慣れているからかもしれませんが、VisualStudoを使ってC#やVisual Basicでプログラムを作ったほうがはるかに良いと思ってしましました。
グラフィックで画面をデザインできる仕組みはとても利便性に優れています。
時間は無限ではありません。
趣味ならわかりませんが、仕事なので短い時間でプログラムが作れることは武器になります。
「時間=コスト」ですよ。
Visual Basicが簡単などという情報を見かけますが、Visual Basicなら「誰にでもできる」という事ではありません。