Python
 Computer >> コンピューター >  >> プログラミング >> Python

依存関係を含むPythonTkinterアプリケーションをバンドルする方法は?


tkinterアプリケーションを作成し、スタンドアロンアプリケーションをバンドルして、移植性と実行可能性を高めたいとしましょう。さまざまな機能をサポートするさまざまなPythonパッケージを使用して、アプリケーションコード全体を実行可能インストーラーにバンドルできます。これらのパッケージはコードを圧縮し、スタンドアロンアプリケーションを実行可能コードに変換します。

Windowsベースのユーザーの場合、 py2exe;を使用できます。 Linuxの場合、フリーズ;を使用できます Macの場合、 py2appを使用できます 。

この例では、画面に「HelloWorld」を出力するWindowsベースのアプリケーションを作成しました。最初に、 setup.pyを作成します メインアプリケーションファイルが存在するのと同じディレクトリにあるファイル。次に、 setup.py のパラメーターとしてファイル名を渡すことにより、メインアプリケーションファイルの機能を拡張します。 。

setup.py

from distutils.core import setup
import py2exe

setup(console=['main_app.py'])

次に、 setup.pyと入力して実行します py2exeを使用 コマンドシェルのパッケージ。コマンドを実行すると、距離が作成されます 「main_app.exe」という名前の実行可能ファイルを含む同じディレクトリ内のフォルダ。

main_app.py

#Import the tkinter library
from tkinter import *

#Create an instance of tkinter frame
win = Tk()

#Set the geometry
win.geometry("600x400")

def present():
   Label(win, text="Hello World", font=('Times New Roman bold',30)).pack(pady=10)

Button(win, text="Click Me", command= present).pack(pady=20)
win.mainloop()

出力

main_app.exeを実行する ファイルは、ボタンとラベルが含まれる次のウィンドウを開きます。

依存関係を含むPythonTkinterアプリケーションをバンドルする方法は?


  1. Tkinter Pythonでスレッドを使用する方法は?

    Tkinterでは、スレッド化を使用して一度に複数の関数を呼び出すことができます 。アプリケーション内の一部の機能の非同期実行を提供します。 Pythonでスレッドを使用するために、スレッドというモジュールをインポートできます。 スレッドをサブクラス化します クラス。新しいクラス内で、実行を上書きする必要があります メソッドを実行し、そこでロジックを実行します。 したがって、基本的にスレッドを使用すると、一度に複数の作業を行うことができます。アプリケーションでスレッド化を実現するために、Tkinterは Thread()を提供します 機能。 例を挙げて、しばらくスリープしてから別の関数を

  2. キャンバスで画像を中央に配置する方法PythonTkinter

    Tkinterを使用してGUIベースのアプリケーションを作成していて、Tkinterキャンバスに画像をロードしたいとします。 デフォルトでは、キャンバスはその幅と高さに応じて画像をロードしますが、「方向」を渡すことで、画像の位置を任意の方向(N、S、E、W、NS、EWなど)に操作できます。アンカーパラメータの値。アンカーは、画像関数とともに呼び出されるパラメータです。キャンバス内の画像の方向または位置を定義します。 アンカーパラメータを使用することで、テキストと画像を任意の方向に揃えることができます。今のところ、ラベルを使用して画像ラベルを作成します そのような機能、 Label(root