ホームページ >バックエンド開発 >Python チュートリアル >wxPython と py2exe を使用して Windows で Python GUI プログラムを開発するチュートリアルの例
Python はビジュアル プログラミング、つまり GUI プログラムの作成をサポートしており、これを使用してお気に入りのデスクトップ プログラムを作成できます。 wxPython を使用してインターフェイスを作成するのは非常に簡単ですが、C# のようにコントロールをドラッグすることはできず、独自のコード レイアウトを記述する必要があります。書き込みが完了した後、Python がインストールされていないコンピューターでは直接 py ファイルを実行できないため、どのコンピューターでも実行できるようにパッケージ化できるツールはありますか? ネットで検索したところ、py2exe でこの機能を完了できることがわかりました。 wxPython と py2exe はどちらもオープンソースのフリー ソフトウェアです。
環境構成
wxPython:sourceforge プロジェクト ページ https://sourceforge.net/projects/py2exe/files/py2exe/0.6.9/
ダウンロード後、ダブルクリックしてインストール プログラムが自動的に対応する PythonScript にインストールされます。
py2exe: 公式ダウンロードホームページ https://www.wxpython.org/download.php
ダウンロードする Python のバージョンに注意して、ダブルクリックしてインストールすることもできます。
次の例は、wxPython と py2exe の簡単な使用法を示しています。
基本的な例
ファイル名: wxTest.py:
変更したファイルを編集した後、py2exe を使用して Python スクリプトを Windows 実行可能ファイルにコンパイルします。これにより、Python インタープリターは必要なくなります。 py2exe を使用するには、まずコンパイル スクリプトを作成し、次に Python を通じてコンパイル スクリプトを実行して、他のスクリプトを実行可能ファイルにコンパイルする必要があります。次の例は、実行可能ファイルにコンパイルされるスクリプトです: setup.py
。必要なモジュールをインポートすることに加えて、setup.py にはステートメントが 1 つだけあります:
角括弧はコンパイルされるスクリプトの名前で、先頭の「windows」はGUIプログラムにコンパイルされることを意味します。コマンド ライン インターフェイス用の実行可能ファイルをコンパイルする場合は、Windows をコンソールに変更するだけです。スクリプトを Windows サービスにコンパイルする必要がある場合は、service オプションを使用できます。
すべて編集した後、wxTest.py と setup.py を同じパスに配置し、cmd でパスを入力し、次のように入力します:
実行後、パス上に dist と build の 2 つのディレクトリが生成されます。 dist ディレクトリには、コンパイルによって生成されたファイルが含まれています。コンパイルされたプログラムを Python がインストールされていない他のマシンで実行したい場合は、dist ディレクトリを他のマシンにコピーするだけです。図に示すように、ダブルクリックして wxTest.exe を実行します。
wxPythonを使用してファイルmd5を計算するためのGUIツールを構築します
最終的にガジェットは次のようになります。ファイルをドラッグすると、その md5 とサイズが自動的に計算されます。
以下はすべてのコードです
リーリー
クラス App と App().MainLoop() は、メイン Frame を初期化するための def OnInit メソッドがあり、それを中心に見てみましょう。フレームの定義
このガジェットはレイアウトに boxSizer を使用します。 MD5 と次のテキスト ボックスを同じ行に配置したい場合は、boxSizer を 1 つだけ使用し、その中のすべてのコントロールを配置します。水平の boxSizer を追加し、この水平の boxSizer をメインの boxSizer に置きます
リーリー
リーリー
上記の FileDropTarget クラスの __init__ メソッドと OnDropFiles メソッドも固定メソッドですが、内部の処理機能が異なります。
wxPython の一部のスタイルとフラグのパラメータは、レイアウトで使用するのにある程度の経験が必要であり、それらを上手にマスターするにはある程度の努力が必要です。次の 2 つの Web サイトで詳細を説明しています。続きを読む