tkLauncherApp.py ライブラリ ドキュメント

このドキュメントは、tkLauncherApp.py ライブラリの技術的な側面について解説します。

ライブラリの機能や目的

tkLauncherApp.py は、PythonのTkinterライブラリをベースとしたGUIアプリケーションフレームワークである tklib.tkgui.tkapplication_gui.tkApplication_GUI を拡張したクラスです。このライブラリの主な目的は、スクリプトの実行、アプリケーションの設定管理、ユーザーとの対話、ファイルシステム操作などを容易にするための、多機能なランチャーアプリケーションの基盤を提供することです。

主な機能は以下の通りです。

  • GUIアプリケーションの基盤: Tkinterによるウィンドウ、ボタン、メニューなどのGUI要素を構築するためのフレームワークを提供します。

  • スクリプト実行管理: 内部のスクリプトエンジンと連携し、外部スクリプトの実行やその変数の管理をサポートします。

  • 設定管理: INIファイル形式の設定ファイルを読み書きし、アプリケーションの状態やユーザー設定を永続化します。

  • ユーザー対話: 入力ダイアログ、選択ダイアログ、カスタムダイアログ、メッセージボックス、確認ダイアログなど、多様な種類のGUIダイアログを通じてユーザーとの対話を可能にします。

  • ファイル・パス操作: ファイルやディレクトリの検索、リストアップ、パスの結合や分割、OSに応じたパス区切り文字の変換など、ファイルシステムに関する操作を容易にします。

  • 環境変数・内部変数の管理: 環境変数やアプリケーション固有の変数を設定、取得、更新する機能を提供します。

  • GUI要素の動的制御: ボタンへのツールチップ追加、コンテキストメニューの生成とバインドなど、GUI要素を動的に操作する機能があります。

  • データ読み込み: ExcelやCSVファイルからヘッダーラベルを読み込む機能があります。

  • ウィンドウ制御: アプリケーションウィンドウの表示状態(最小化、最大化、最前面表示など)やタイトルを設定できます。

このライブラリは、複雑なPythonスクリプトや外部アプリケーションをGUIから起動・管理したい開発者にとって、強力なツールとなることを目指しています。

importする方法

tkLauncherApp.py ライブラリは、Pythonの標準的なモジュールとしてインポートできます。以下の方法で tkLauncherApp クラスをインポートし、利用を開始できます。

from tkLauncherApp import tkLauncherApp

# tkLauncherAppクラスのインスタンスを作成する例
# 必要に応じて引数を指定します
app = tkLauncherApp(title="My Launcher App")
app.run() # アプリケーションのメインループを開始

必要な非標準ライブラリとインストール方法

tkLauncherApp.py を実行するためには、以下の非標準ライブラリが必要です。

  1. openpyxl: Excelファイル (.xlsx 形式) の読み書きに利用されます。

    • インストールコマンド:

      pip install openpyxl
      
  2. pandas: データ処理、特にExcelやCSVファイルの読み込みに利用されます。

    • インストールコマンド:

      pip install pandas
      
  3. tklib: このライブラリは、tklib.tkutils, tklib.tkparams, tklib.tkfile, tklib.tkinifile, tklib.tkexcel_db, tklib.tkgui.tkapplication_gui, tklib.tkgui.tktkinter, tklib.tkscript_macro, tklib.tkgui.tktooltip, tklib.tkgui.tkmenu_popup など、tklib パッケージ内の複数のモジュールに依存しています。

    • この tklib パッケージは、標準的な pip コマンドではインストールできない可能性があります。開発元から別途入手し、Pythonのサイトパッケージディレクトリや、実行スクリプトが参照できるパス上に配置する必要があります。

importできる変数と関数

tkLauncherApp.py ファイルは、tkLauncherApp という単一のクラスをエクスポートしています。このクラスは tklib.tkgui.tkapplication_gui.tkApplication_GUI を継承しており、多数のメソッドを提供します。

クラス: tkLauncherApp(tkApplication_GUI)

Tkinterベースのランチャーアプリケーションのメインクラス。設定管理、スクリプト実行、ユーザー対話のためのGUIダイアログ、ファイルシステム操作などを提供します。

メソッド:

  • __init__(self, **args)

    • 動作: tkLauncherApp クラスのコンストラクタです。親クラス tkApplication_GUI を初期化し、alert_var_errorprev_popup_menu の初期値を設定します。また、ダイアログ設定用のリスト dialog_config を初期化します。

    • 引数:

      • **args: 親クラス tkApplication_GUI に渡される任意のキーワード引数。

    • 戻り値: なし

  • set_var(self, var, val, set_env=False)

    • 動作: アプリケーションの内部変数 (self.s_engine.vars, self.svars) を設定します。set_envTrue の場合、OSの環境変数としても設定します。

    • 引数:

      • var (str): 設定する変数の名前。

      • val (str): 設定する値。

      • set_env (bool): True の場合、OSの環境変数としても設定します。

    • 戻り値: なし

  • convert_os_path_sep(self, path)

    • 動作: 指定されたパスの区切り文字を、現在のOSに適した形式(Windowsなら\、それ以外なら/)に変換します。

    • 引数:

      • path (str): 変換するパス文字列。

    • 戻り値: (str) 変換されたパス文字列。

  • use_os_path_sep(self, var)

    • 動作: 指定された変数名に格納されているパス文字列を読み込み、現在のOSに適したパス区切り文字に変換して、その変数を更新します。

    • 引数:

      • var (str): パスが格納されている変数名。

    • 戻り値: なし

  • echo(self, arg)

    • 動作: 指定された引数を警告メッセージとして出力します。

    • 引数:

      • arg (str): 出力するメッセージ。

    • 戻り値: なし

  • update_script_vars(self, cparams)

    • 動作: スクリプトエンジンが使用する変数を、アプリケーションの設定、環境変数、コマンドライン引数などに基づいて更新します。

    • 引数:

      • cparams: スクリプトのパラメータオブジェクト。

    • 戻り値: なし

  • add_path(self, args)

    • 動作: 指定されたパスを環境変数 PATH (または args[0] で指定された変数) に追加します。

    • 引数:

      • args (list): パス文字列のリスト。最初の要素がパス、2番目の要素以降が追加するパス。args[0] が変数名、args[1] がパスの場合もあります。

    • 戻り値: なし

  • debug(self)

    • 動作: デバッグモードが有効かどうかを返します。

    • 引数: なし

    • 戻り値: (bool) デバッグモードが有効なら True、そうでなければ False

  • set_debug(self, f)

    • 動作: デバッグモードの状態を設定します。

    • 引数:

      • f (bool): デバッグモードを有効にするか (True)、無効にするか (False)。

    • 戻り値: なし

  • confirm(self)

    • 動作: 確認モードが有効かどうかを返します。

    • 引数: なし

    • 戻り値: (bool) 確認モードが有効なら True、そうでなければ False

  • set_confirm(self, f)

    • 動作: 確認モードの状態を設定します。

    • 引数:

      • f (bool): 確認モードを有効にするか (True)、無効にするか (False)。

    • 戻り値: なし

  • create_script(self)

    • 動作: アプリケーションに登録されているスクリプトファイルに基づいて tkScript オブジェクトを生成します。

    • 引数: なし

    • 戻り値: (tkScript): 生成されたスクリプトオブジェクト。

  • set(self, argline, do_set=True)

    • 動作: var = value 形式の文字列を解析し、変数を設定します。do_setFalse の場合、解析のみ行い変数は設定しません。

    • 引数:

      • argline (str): 設定する変数と値の文字列 (var = value 形式)。

      • do_set (bool): True の場合、変数を実際に設定します。

    • 戻り値: なし

  • list_append(self, args, check_exist=False)

    • 動作: 指定された変数に、複数の値を # で区切ってリスト形式で追加します。check_existTrue の場合、ファイルが存在する場合のみ追加します。

    • 引数:

      • args (list): 最初の要素がリスト変数名、2番目以降の要素が追加する値。

      • check_exist (bool): True の場合、追加する値がファイルとして存在するかチェックします。

    • 戻り値: なし

  • set_path(self, argline)

    • 動作: var = value 形式の文字列を解析し、パスとして解釈される値をOS固有のパス区切り文字に変換して変数に設定します。

    • 引数:

      • argline (str): 設定する変数とパスの文字列 (var = path 形式)。

    • 戻り値: なし

  • join_path(self, args)

    • 動作: 複数のパス構成要素を結合し、OS固有のパス区切り文字に変換して変数に設定します。

    • 引数:

      • args (list): 最初の要素が結果を格納する変数名、2番目以降の要素が結合するパス構成要素。

    • 戻り値: なし

  • split_argline(self, argline)

    • 動作: var command 形式の引数行を解析し、変数名、変数の現在の値、コマンド部分を返します。

    • 引数:

      • argline (str): 解析する引数行。

    • 戻り値: (tuple) (var_name, var_value, command)。解析に失敗した場合は (None, None, None)

  • set_if_not_blank(self, argline)

    • 動作: split_argline で解析した変数に値があり、それが空白でなければ、指定されたコマンドを実行して変数を設定します。

    • 引数:

      • argline (str): var command 形式の引数行。

    • 戻り値: なし

  • set_if_not_null(self, argline)

    • 動作: split_argline で解析した変数に値があり、それが None でなければ、指定されたコマンドを実行して変数を設定します。

    • 引数:

      • argline (str): var command 形式の引数行。

    • 戻り値: なし

  • set_if_blank(self, argline)

    • 動作: split_argline で解析した変数に値がないか、それが空白であれば、指定されたコマンドを実行して変数を設定します。

    • 引数:

      • argline (str): var command 形式の引数行。

    • 戻り値: なし

  • set_if_null(self, argline)

    • 動作: split_argline で解析した変数に値がなく、それが None であれば、指定されたコマンドを実行して変数を設定します。

    • 引数:

      • argline (str): var command 形式の引数行。

    • 戻り値: なし

  • get_app_path(self, args)

    • 動作: 指定された変数にアプリケーションのパスが設定されており、それが有効なファイルであれば True を返します。そうでなければ、ファイル選択ダイアログを表示してユーザーにパスを選択させ、変数に設定します。

    • 引数:

      • args (list): 最初の要素が変数名、2番目の要素がファイルマスク、3番目の要素がダイアログのメッセージ。

    • 戻り値: (bool) アプリケーションパスが正常に取得されたら True、キャンセルされたら False

  • save_config(self, argline)

    • 動作: 現在のアプリケーション設定(GUIのジオメトリを含む)をINIファイルに保存します。

    • 引数:

      • argline (str): 未使用。

    • 戻り値: なし

  • print_all(self, args)

    • 動作: 指定されたプレフィックスを持つ全てのスクリプト変数を警告メッセージとして出力します。

    • 引数:

      • args (list): 最初の要素が変数のプレフィックス。

    • 戻り値: なし

  • read_ini_all(self, args)

    • 動作: 指定されたINIファイルを読み込み、その内容を全て変数に設定します。

    • 引数:

      • args (list): 最初の要素がINIファイルのパス、2番目の要素が変数のプレフィックス。

    • 戻り値: なし

  • read_ini_to_vars(self, args)

    • 動作: 指定されたINIファイルを読み込み、key = value 形式の各行を変数として設定します。

    • 引数:

      • args (list): 最初の要素がINIファイルのパス。オプションで2番目の要素に 'del_quote' を指定すると値から引用符を削除します。

    • 戻り値: (bool) 読み込みが成功したら True、失敗したら False

  • read_ini(self, args)

    • 動作: 指定されたINIファイルから特定のセクションとキーに対応する値を読み込み、変数に設定します。

    • 引数:

      • args (list): 最初の要素がINIファイルのパス、2番目の要素がセクション名、3番目の要素がキー名、4番目の要素が結果を格納する変数名。オプションで5番目の要素にデフォルト値を指定できます。

    • 戻り値: なし

  • write_ini(self, args)

    • 動作: 指定されたINIファイルに、特定のセクションとキーに値を書き込みます。

    • 引数:

      • args (list): 最初の要素がINIファイルのパス、2番目の要素がセクション名、3番目の要素がキー名、4番目の要素が書き込む値。

    • 戻り値: なし

  • setup(self, args=None)

    • 動作: アプリケーションのセットアップダイアログ(エディタパス、Pythonパスなどの設定)を表示します。ログ表示設定に基づいてログ出力先も設定します。

    • 引数:

      • args (list): 未使用。

    • 戻り値: なし

  • copy_config2svars(self, args)

    • 動作: アプリケーション設定 (self.config) の内容をスクリプト変数 (self.svars) にコピーします。

    • 引数:

      • args (list): 未使用。

    • 戻り値: なし

  • copy_config2scars(self, args)

    • 動作: copy_config2svars と同じ動作をします。

    • 引数:

      • args (list): 未使用。

    • 戻り値: なし

  • copy_svars2config(self, args)

    • 動作: スクリプト変数 (self.svars) のうち、config. プレフィックスを持つものをアプリケーション設定 (self.config) にコピーします。

    • 引数:

      • args (list): 未使用。

    • 戻り値: なし

  • eval(self, args)

    • 動作: 指定されたPython式を評価し、その結果を指定された変数に文字列として設定します。

    • 引数:

      • args (list): 最初の要素が結果を格納する変数名、2番目の要素が評価するPython式。

    • 戻り値: なし

  • show_font_dialog(self, args)

    • 動作: フォント選択ダイアログを表示し、ユーザーが選択したフォント名を指定された変数に設定します。

    • 引数:

      • args (list): 最初の要素がフォント名を格納する変数名。

    • 戻り値: (int) 成功したら 1、キャンセルされたら -1

  • show_color_dialog(self, args)

    • 動作: カラー選択ダイアログを表示し、ユーザーが選択したカラーコードを指定された変数に設定します。

    • 引数:

      • args (list): 最初の要素がカラーコードを格納する変数名。

    • 戻り値: (int) 成功したら 1、キャンセルされたら -1

  • get_button(self, button_idx0)

    • 動作: 指定されたインデックスまたは名前から、Tkinterのボタンウィジェットを取得します。

    • 引数:

      • button_idx0 (str or int): ボタンのインデックス (1から始まる) またはボタン名 (例: 'RButton1', 'TButton2')。

    • 戻り値: (tkinter.Widget) 取得されたボタンウィジェット、または見つからなければ None

  • create_menu(self, args, s_engine, cparams, fp)

    • 動作: 指定された項目とコマンドに基づいてポップアップメニューを生成し、それを変数に格納します。

    • 引数:

      • args (list): 最初の要素がメニューを格納する変数名、2番目の要素がメニューのタイトル。3番目以降は key=labelkey=cmd のペアが交互に続きます。

      • s_engine: スクリプトエンジンオブジェクト。

      • cparams: パラメータオブジェクト。

      • fp: ファイルオブジェクト。

    • 戻り値: なし

  • show_context_menu(self, args, event)

    • 動作: 指定された変数に格納されているポップアップメニューを、イベント発生位置に表示します。

    • 引数:

      • args (list): 最初の要素がメニューが格納されている変数名。

      • event: Tkinterのイベントオブジェクト (マウス座標を含む)。

    • 戻り値: なし

  • add_context_menu(self, args)

    • 動作: 指定されたボタンウィジェットに、指定された変数に格納されているコンテキストメニューをバインドします。

    • 引数:

      • args (list): 最初の要素がメニューが格納されている変数名、2番目の要素がバインドするボタンのインデックスまたは名前。

    • 戻り値: なし

  • add_tooltip(self, args)

    • 動作: 指定されたボタンウィジェットにツールチップ(ヒント)を追加します。

    • 引数:

      • args (list): 最初の要素がツールチップを追加するボタンのインデックスまたは名前、2番目の要素がツールチップのテキスト。オプションで3番目の要素に背景色 (bg)、4番目の要素に前景色 (fg) を指定できます。

    • 戻り値: なし

  • new_dialog(self)

    • 動作: カスタムダイアログの設定リスト dialog_config を初期化します。新しいカスタムダイアログを定義する前に呼び出す必要があります。

    • 引数: なし

    • 戻り値: なし

  • add_dialog(self, args)

    • 動作: カスタムダイアログに表示するウィジェットの設定を追加します。ウィジェットの種類、関連する変数、および追加のプロパティを指定します。

    • 引数:

      • args (list): 最初の要素がウィジェットの種類、2番目の要素が関連する変数名。3番目以降は key=value 形式のウィジェットプロパティ。

    • 戻り値: なし

  • post_custom_dialog(self, vars)

    • 動作: モーダルカスタムダイアログの戻り値を処理し、対応する変数をアプリケーションの内部変数に設定します。

    • 引数:

      • vars (dict): ダイアログから返された変数名とその値の辞書。

    • 戻り値: なし

  • show_custom_dialog(self, args)

    • 動作: 設定済みの dialog_config に基づいてモーダルカスタムダイアログを表示します。ユーザーの入力結果は post_custom_dialog で処理されます。

    • 引数:

      • args (list): 最初の要素がダイアログのタイトル。オプションで2番目の要素にボタンの構成を指定できます。

    • 戻り値: (int) 成功したら 1、キャンセルされたら -1

  • post_custom_dialog_modeless(self, vars)

    • 動作: モーダレスカスタムダイアログの戻り値を処理し、対応する変数をアプリケーションの内部変数に設定します。

    • 引数:

      • vars (dict): ダイアログから返された変数名とその値の辞書。

    • 戻り値: なし

  • show_custom_dialog_modeless(self, args)

    • 動作: 設定済みの dialog_config に基づいてモーダレスカスタムダイアログを表示します。ユーザーの入力結果は post_custom_dialog_modeless で処理されます。

    • 引数:

      • args (list): 最初の要素がダイアログのタイトル。オプションで2番目の要素にボタンの構成を指定できます。

    • 戻り値: (int) 成功したら 1、キャンセルされたら -1

  • show_select_dialog(self, args)

    • 動作: 選択肢リストから項目を選択させるダイアログを表示し、選択された値を指定された変数に設定します。

    • 引数:

      • args (list): 最初の要素が選択値を格納する変数名、2番目の要素がダイアログのタイトル、3番目の要素がメッセージ。4番目以降の要素が選択肢リスト。

    • 戻り値: (int) 成功したら 1、キャンセルされたら -1

  • input(self, args)

    • 動作: ユーザーからのテキスト入力を受け付けるダイアログを表示し、入力された値を指定された変数に設定します。入力には @var=value 形式で複数の変数を設定する機能も含まれます。

    • 引数:

      • args (list): 最初の要素が入力値を格納する変数名。オプションで2番目の要素にメッセージ、3番目の要素にダイアログのタイトルを指定できます。

    • 戻り値: (int) 成功したら 1、キャンセルされたら -1

  • del_quote(self, var)

    • 動作: 指定された変数に格納されている文字列の値から、引用符 ('" ) を削除します。

    • 引数:

      • var (str): 引用符を削除する対象の変数名。

    • 戻り値: なし

  • remove_comment(self, var)

    • 動作: 指定された変数に格納されている文字列の値から、# 以降のコメント部分を削除します。

    • 引数:

      • var (str): コメントを削除する対象の変数名。

    • 戻り値: なし

  • get_first_word(self, args)

    • 動作: 指定された文字列から、指定された区切り文字で区切られた最初の単語を取得し、変数に設定します。

    • 引数:

      • args (list): 最初の要素が対象文字列、2番目の要素が区切り文字、3番目の要素が結果を格納する変数名。

    • 戻り値: なし

  • get_last_word(self, args)

    • 動作: 指定された文字列から、指定された区切り文字で区切られた最後の単語を取得し、変数に設定します。

    • 引数:

      • args (list): 最初の要素が対象文字列、2番目の要素が区切り文字、3番目の要素が結果を格納する変数名。

    • 戻り値: なし

  • get_path_part(self, key, path, var)

    • 動作: 指定されたパスから、指定された種類のパス要素(ドライブ、ディレクトリ名、ファイル名など)を抽出し、変数に設定します。

    • 引数:

      • key (str): 抽出するパス要素の種類 ('drive', 'dir', 'dir_without_drive', 'last_dir', 'upper_dir', 'filename', 'filebody', 'ext')。

      • path (str): 対象のパス文字列。

      • var (str): 結果を格納する変数名。

    • 戻り値: なし

  • get_cur_dir(self, var)

    • 動作: 現在の作業ディレクトリを取得し、指定された変数に設定します。

    • 引数:

      • var (str): 結果を格納する変数名。

    • 戻り値: なし

  • get_cur_menu(self, var)

    • 動作: メニューリストボックスで現在選択されているメニュー項目を取得し、指定された変数に設定します。

    • 引数:

      • var (str): 結果を格納する変数名。

    • 戻り値: なし

  • get_cur_menu_file(self, var)

    • 動作: メニューリストボックスで現在選択されているメニュー項目に対応するファイルパスを取得し、指定された変数に設定します。

    • 引数:

      • var (str): 結果を格納する変数名。

    • 戻り値: (str) 取得されたファイルパス。

  • get_cur_button_idx(self, var)

    • 動作: 最後にクリックされたボタンのインデックスを取得し、指定された変数に設定します。

    • 引数:

      • var (str): 結果を格納する変数名。

    • 戻り値: (int) 最後にクリックされたボタンのインデックス。

  • get_cur_button_caption(self, var)

    • 動作: 最後にクリックされたボタンのキャプション(表示テキスト)を取得し、指定された変数に設定します。

    • 引数:

      • var (str): 結果を格納する変数名。

    • 戻り値: (str) 最後にクリックされたボタンのキャプション。

  • split_str(self, args)

    • 動作: 指定された文字列を、指定された区切り文字で分割し、特定のインデックスの要素を変数に設定します。

    • 引数:

      • args (list): 最初の要素が対象文字列、2番目の要素が区切り文字、3番目の要素が取得するインデックス、4番目の要素が結果を格納する変数名。

    • 戻り値: (str) 分割された文字列の一部。

  • check_file_mode(self, args)

    • 動作: ファイルの存在チェックモードを設定する内部変数を更新します。

    • 引数:

      • args (list): 最初の要素がモード文字列(例: 'auto', 'true', 'false')。

    • 戻り値: なし

  • check_exist(self, args)

    • 動作: 指定されたファイルの存在をチェックします。チェックモードが 'true' またはファイルが存在する場合に True を返します。ファイルが存在しない場合やチェックモードが 'false' でない場合は、ボタンのキャプションを変更し、メッセージダイアログを表示します。

    • 引数:

      • args (list): 最初の要素がチェックするファイルパス。オプションで2番目の要素にメッセージを指定できます。

    • 戻り値: (bool) ファイルが存在するか、またはチェックモードが 'true' の場合に True、そうでなければ False

  • exit_if_defined(self, mode, var)

    • 動作: 指定された変数が定義されているか(mode=True)、定義されていないか(mode=False)に応じて、エラーダイアログを表示し、False を返します。

    • 引数:

      • mode (bool): True なら変数が定義されているかチェック、False なら定義されていないかチェック。

      • var (str): チェックする変数名。

    • 戻り値: (bool) 条件を満たさなければ False、そうでなければ True

  • exit_if_exist(self, mode, path)

    • 動作: 指定されたファイルが存在するか(mode=True)、存在しないか(mode=False)に応じて、エラーダイアログを表示し、False を返します。

    • 引数:

      • mode (bool): True ならファイルが存在するかチェック、False なら存在しないかチェック。

      • path (str): チェックするファイルパス。

    • 戻り値: (bool) 条件を満たさなければ False、そうでなければ True

  • show_message_dialog2(app, message)

    • 動作: 情報メッセージダイアログを表示します。

    • 引数:

      • app: アプリケーションインスタンス。

      • message (str): 表示するメッセージ。

    • 戻り値: なし

  • show_message_dialog(app, message)

    • 動作: 情報メッセージダイアログを表示します。メッセージは引用符が削除されます。

    • 引数:

      • app: アプリケーションインスタンス。

      • message (str): 表示するメッセージ。

    • 戻り値: なし

  • show_error_dialog2(app, message, terminate=False)

    • 動作: エラーメッセージダイアログを表示します。terminateTrue の場合、アプリケーションを終了します。

    • 引数:

      • app: アプリケーションインスタンス。

      • message (str): 表示するエラーメッセージ。

      • terminate (bool): True の場合、メッセージ表示後にアプリケーションを終了します。

    • 戻り値: なし

  • show_error_dialog(app, message, terminate=False)

    • 動作: エラーメッセージダイアログを表示します。メッセージは引用符が削除されます。terminateTrue の場合、アプリケーションを終了します。

    • 引数:

      • app: アプリケーションインスタンス。

      • message (str): 表示するエラーメッセージ。

      • terminate (bool): True の場合、メッセージ表示後にアプリケーションを終了します。

    • 戻り値: なし

  • ask_okcancel_dialog2(app, message)

    • 動作: OK/キャンセルダイアログを表示し、ユーザーの選択結果を返します。

    • 引数:

      • app: アプリケーションインスタンス。

      • message (str): 表示する確認メッセージ。

    • 戻り値: (bool) OKが選択されたら True、キャンセルされたら False

  • ask_okcancel_dialog(app, message)

    • 動作: OK/キャンセルダイアログを表示し、ユーザーの選択結果を返します。メッセージは引用符が削除されます。

    • 引数:

      • app: アプリケーションインスタンス。

      • message (str): 表示する確認メッセージ。

    • 戻り値: (bool) OKが選択されたら True、キャンセルされたら False

  • ask_yesno_dialog2(app, message)

    • 動作: はい/いいえダイアログを表示し、ユーザーの選択結果を返します。

    • 引数:

      • app: アプリケーションインスタンス。

      • message (str): 表示する確認メッセージ。

    • 戻り値: (bool) はいが選択されたら True、いいえが選択されたら False

  • ask_yesno_dialog(app, message)

    • 動作: はい/いいえダイアログを表示し、ユーザーの選択結果を返します。メッセージは引用符が削除されます。

    • 引数:

      • app: アプリケーションインスタンス。

      • message (str): 表示する確認メッセージ。

    • 戻り値: (bool) はいが選択されたら True、いいえが選択されたら False

  • read_labels(self, args)

    • 動作: 指定されたExcelまたはCSVファイルから、ヘッダー行(ラベル)を読み込み、それらを##で結合した文字列として変数に設定します。

    • 引数:

      • args (list): 最初の要素がファイルパス、2番目の要素が結果を格納する変数名。

    • 戻り値: (str) 読み込まれたラベルの##結合文字列、または失敗したら -1

  • get_file_list(self, args, target='file')

    • 動作: 指定されたディレクトリ内で、指定されたファイルマスクに一致するファイルまたはディレクトリのリストを取得し、##で結合した文字列として変数に設定します。

    • 引数:

      • args (list): 最初の要素が結果を格納する変数名、2番目の要素が検索対象ディレクトリ。3番目以降の要素はファイルマスク (複数指定可能、;で区切ることも可能)。

      • target (str): 検索対象 ('file'または'dir')。

    • 戻り値: (str) 取得されたファイル/ディレクトリリストの##結合文字列。

  • escape_reg(self, args)

    • 動作: 指定された文字列に含まれる正規表現の特殊文字をエスケープし、その結果を変数に設定します。

    • 引数:

      • args (list): 最初の要素が結果を格納する変数名、2番目の要素がエスケープする文字列。

    • 戻り値: なし

  • replace(self, args)

    • 動作: 指定された文字列内で、特定の部分文字列を別の文字列に置換し、その結果を変数に設定します。

    • 引数:

      • args (list): 最初の要素が結果を格納する変数名、2番目の要素が置換対象の文字列、3番目の要素が検索する部分文字列、4番目の要素が置換後の文字列。

    • 戻り値: なし

  • set_dialog_values(self, args)

    • 動作: カスタムダイアログ内の特定のウィジェット(例: コンボボックス)の選択肢リストを設定します。

    • 引数:

      • args (list): 最初の要素が対象ウィジェットの変数名、2番目の要素が##で結合された選択肢の文字列。

    • 戻り値: (bool) 設定が成功したら True、失敗したら False

  • set_dialog_var(self, args)

    • 動作: カスタムダイアログ内の特定の変数に値を設定します。

    • 引数:

      • args (list): 最初の要素が対象変数の名前、2番目の要素が設定する値。

    • 戻り値: なし

  • search_files(self, args)

    • 動作: 指定された開始パスから、指定されたファイル名のファイルを再帰的に検索し、見つかったファイルパスのリストを##で結合した文字列として変数に設定します。

    • 引数:

      • args (list): 最初の要素が結果を格納する変数名、2番目の要素が検索対象のファイル名、3番目の要素が検索を開始するパス。

    • 戻り値: なし

  • search_latest_file(self, args)

    • 動作: 指定された開始パスから、指定されたファイル名のファイルの中で最も新しい更新日時を持つファイルを検索し、そのパスを変数に設定します。

    • 引数:

      • args (list): 最初の要素が結果を格納する変数名、2番目の要素が検索対象のファイル名、3番目の要素が検索を開始するパス。

    • 戻り値: なし

  • choose_if_not_exist(self, args)

    • 動作: 指定された変数に格納されているファイルパスが存在しない場合に、ファイル選択ダイアログを表示してユーザーに選択させ、そのパスを変数に設定します。

    • 引数:

      • args (list): 最初の要素が結果を格納する変数名、2番目の要素がファイルマスク、3番目の要素がダイアログのメッセージ。

    • 戻り値: (int) 成功したら 1、キャンセルされたら -1

  • get_open_dir_name(self, args, stop_on_cancel=True)

    • 動作: ディレクトリ選択ダイアログを表示し、ユーザーが選択したディレクトリパスを o 変数および sel_file Tkinter変数に設定します。

    • 引数:

      • args (list): オプションで最初の要素に初期ディレクトリ、2番目の要素以降にダイアログのタイトルを指定できます。

      • stop_on_cancel (bool): True の場合、キャンセルされたら -1 を返します。

    • 戻り値: (int) 成功したら 1、キャンセルされたら -1

  • get_open_file_name(self, args, stop_on_cancel=True)

    • 動作: ファイルを開くためのダイアログを表示し、ユーザーが選択したファイルパスを o 変数および sel_file Tkinter変数に設定します。

    • 引数:

      • args (list): オプションで最初の要素にファイルマスク、2番目の要素に初期ディレクトリ、3番目の要素以降にダイアログのタイトルを指定できます。

      • stop_on_cancel (bool): True の場合、キャンセルされたら -1 を返します。

    • 戻り値: (int) 成功したら 1、キャンセルされたら -1

  • get_save_file_name(self, args, stop_on_cancel=True)

    • 動作: ファイルを保存するためのダイアログを表示し、ユーザーが選択したファイルパスを o 変数および sel_file Tkinter変数に設定します。

    • 引数:

      • args (list): オプションで最初の要素にファイルマスク、2番目の要素に初期ディレクトリ、3番目の要素以降にダイアログのタイトルを指定できます。

      • stop_on_cancel (bool): True の場合、キャンセルされたら -1 を返します。

    • 戻り値: (int) 成功したら 1、キャンセルされたら -1

  • move_top(self, f=True)

    • 動作: アプリケーションのメインウィンドウを最前面に表示するかどうかを設定します。

    • 引数:

      • f (bool): True で最前面表示、False で解除。

    • 戻り値: なし

  • show_window(self, mode)

    • 動作: アプリケーションのメインウィンドウの表示状態を変更します。

    • 引数:

      • mode (str): ウィンドウの状態 ('topmost', 'notopmost', 'minimize', 'maximize', 'normal', 'show', 'hide')。

    • 戻り値: なし

  • set_window_title(self, title)

    • 動作: アプリケーションのメインウィンドウのタイトルを設定します。

    • 引数:

      • title (str): 設定するウィンドウタイトル。

    • 戻り値: なし

  • set_message(self, message)

    • 動作: アプリケーションのメッセージ表示領域(message Tkinter変数)にメッセージを設定します。

    • 引数:

      • message (str): 表示するメッセージ。

    • 戻り値: なし

  • set_selected_file(self, message)

    • 動作: アプリケーションの選択ファイル表示領域(sel_file Tkinter変数)にファイルパスを設定します。

    • 引数:

      • message (str): 設定するファイルパス。

    • 戻り値: なし

  • set_command_line(self, message)

    • 動作: アプリケーションのコマンドライン表示領域(command_line Tkinter変数)にコマンドライン文字列を設定します。

    • 引数:

      • message (str): 設定するコマンドライン文字列。

    • 戻り値: なし

  • set_command_line_org(self, message)

    • 動作: アプリケーションの元のコマンドライン表示領域(command_line_org Tkinter変数)にコマンドライン文字列を設定します。

    • 引数:

      • message (str): 設定するコマンドライン文字列。

    • 戻り値: なし

  • set_argument(self, message)

    • 動作: アプリケーションの引数表示領域(argument Tkinter変数)に引数文字列を設定します。

    • 引数:

      • message (str): 設定する引数文字列。

    • 戻り値: なし

  • show_message(self, message)

    • 動作: アプリケーションのメッセージ表示領域(message Tkinter変数)にメッセージを設定します。set_message と同じ動作です。

    • 引数:

      • message (str): 表示するメッセージ。

    • 戻り値: なし

main scriptとして実行したときの動作

tkLauncherApp.py には、if __name__ == "__main__": ブロックが直接記述されていません。これは、このファイルが単独の実行可能スクリプトとしてではなく、他のPythonプログラムからインポートされて利用されるライブラリ(モジュール)として設計されていることを意味します。

したがって、このファイルを直接実行しても、特別なGUIウィンドウが表示されたり、特定の処理が開始されたりすることはありません。このライブラリを利用する際は、上記の「importする方法」に従い、別のスクリプトから tkLauncherApp クラスをインポートし、インスタンスを作成して必要なメソッドを呼び出す必要があります。