tksimple_gui プログラム仕様

Tkinter GUIの構築と管理のためのヘルパー関数とウィジェットを提供します。

このモジュールは、Tkinterベースのグラフィカルユーザーインターフェースを簡単に作成するための ユーティリティ関数とクラスを含んでいます。 ウィジェットの追加、設定の管理、ダイアログの生成など、一般的なGUIタスクを簡素化します。

関連リンク:

tksimple_gui.py ライブラリの技術ドキュメント

class tklib.tkgui.tksimple_gui.CustomDialog_with_config(master, config, vars, title=None)[ソース]

ベースクラス: Dialog

`tkParams`オブジェクトで定義されたウィジェットを使用して、カスタムダイアログを生成します。

`simpledialog.Dialog`を継承し、`add_widgets`関数を使ってダイアログの本文に複雑なウィジェットのセットを配置できます。 ユーザーの入力は、ダイアログが適用されると`vars`オブジェクトに更新されます。

apply()[ソース]

ダイアログが閉じられる際に、ウィジェットの値を`vars`オブジェクトに適用します。

エントリーウィジェットから値を取得し、`vars`オブジェクトの対応する属性の型に合わせて変換し、設定します。 ダイアログが正常に適用されたことを示すために`self.config.ret`を`True`に設定します。

戻り値:

None

body(master)[ソース]

ダイアログのメインコンテンツ領域を作成します。

`add_widgets`を呼び出して、`self.config.widgets`に基づいてウィジェットをダイアログ内に配置します。

パラメータ:

master -- tk.Frame: ダイアログのボディフレーム。

戻り値:

None

tklib.tkgui.tksimple_gui.add_widgets(parent, widgets, vars=None, config=None, **kwargs)[ソース]

指定された定義に基づいてTkinterウィジェットを親フレームに追加します。

`widgets`という多次元リストの辞書定義に従って、ボタン、ラベル、入力フィールド、リストボックスなどの さまざまなウィジェットを作成し、それらを配置します。 ウィジェットに関連付けられたTkinter Variableオブジェクトは`config`オブジェクトに格納され、 初期値は`vars`オブジェクトからロードされます。

パラメータ:
  • parent -- tk.Widget: ウィジェットが追加される親Tkinterウィジェット。

  • widgets -- list[list[dict]]: ウィジェットの定義を含む辞書の多次元リスト。 各辞書はウィジェットのタイプ、名前、変数名、初期値などを指定します。

  • vars -- tkParams, optional: ウィジェットの初期値を提供するオブジェクト。デフォルトは`config`。

  • config -- tkParams, optional: 作成されたウィジェットオブジェクトと関連するTkinter Variableを格納する`tkParams`オブジェクト。 デフォルトは新しい`tkParams`インスタンス。

  • **kwargs --

    dict: `top_frame.pack()`に渡される追加のキーワード引数。

戻り値:

tuple: - tk.Frame: 全てのウィジェットを格納する最上位フレーム。 - tkParams: 作成されたウィジェットと関連するTkinter Variableを含む設定オブジェクト。

tklib.tkgui.tksimple_gui.get_window_from_plt(plt)[ソース]

matplotlibのFigureManagerからTkinterウィンドウオブジェクトを取得します。

パラメータ:

plt -- object: matplotlib.pyplotモジュールまたはFigureManagerオブジェクト。

戻り値:

tk.Tk または tk.Toplevel: 関連するTkinterウィンドウオブジェクト。

tklib.tkgui.tksimple_gui.show_varibles(config)[ソース]

指定されたオブジェクトの非callableかつ非リスト/タプルのメンバー変数を表示します。

主にデバッグ目的で使用され、オブジェクトの現在の状態をコンソールに出力します。 アンダースコアで始まる変数、callableな変数、リストやタプル型の変数はスキップされます。

パラメータ:

config -- object: メンバー変数を表示するオブジェクト。

戻り値:

None

class tklib.tkgui.tksimple_gui.tkScrolledListbox(master, **key)[ソース]

ベースクラス: Listbox

垂直スクロールバー付きのTkinter Listboxウィジェットです。

標準のtk.Listboxに垂直スクロールバーを統合し、長いリストでも内容を簡単に操作できるようにします。

clear()[ソース]

リストボックス内のすべての項目を削除します。

戻り値:

None

class tklib.tkgui.tksimple_gui.tkWidgets(parent=None, plt=None, config=None, vars=None)[ソース]

ベースクラス: tkObject

Tkinter GUIの構築と管理のためのユーティリティクラスです。

Tkinterウィジェットの追加、フォント設定、ツールバー、ペイン、タブの管理、 および変数の表示と更新のためのメソッドを提供します。 内部的に`tkParams`オブジェクトを使用して設定と変数を管理します。

add_page(notebook=None, title='main', bg='dim gray')[ソース]

指定されたノートブックに新しいタブ(ページ)を追加します。

パラメータ:
  • notebook -- ttk.Notebook, optional: ページを追加するノートブックウィジェット。デフォルトは`self.notebook`。

  • title -- str, optional: ページのタイトル。デフォルトは"main"。

  • bg -- str, optional: ページの背景色。デフォルトは'dim gray'。

戻り値:

tk.Frame: 作成されたページフレーム。

add_paned_window(parent=None, width=None, sashwidth=2)[ソース]

左右2つのノートブックを含むペイン付きウィンドウを作成します。

パラメータ:
  • parent -- tk.Widget, optional: ペイン付きウィンドウが追加される親ウィジェット。デフォルトは`self.parent`。

  • width -- int, optional: 左側のノートブックの幅。デフォルトはNone(自動調整)。

  • sashwidth -- int, optional: サッシ(ペインの区切り線)の幅。デフォルトは2。

戻り値:

tuple: - tk.PanedWindow: メインのペイン付きウィンドウ。 - ttk.Notebook: 左側のノートブック。 - ttk.Notebook: 右側のノートブック。

add_tab(parent=None)[ソース]

タブを管理するためのノートブックウィジェットを追加します。

パラメータ:

parent -- tk.Widget, optional: ノートブックが追加される親ウィジェット。デフォルトは`self.parent`。

戻り値:

ttk.Notebook: 作成されたノートブックウィジェット。

add_toolbar(parent=None)[ソース]

ツールバー用のフレームを親ウィジェットに追加します。

パラメータ:

parent -- tk.Widget, optional: ツールバーが追加される親ウィジェット。デフォルトは`self.parent`。

戻り値:

tk.Frame: 作成されたツールバーフレーム。

add_widgets(parent, widgets, vars=None, config=None, **kwargs)[ソース]

ユーティリティ関数`add_widgets`を呼び出して、指定された定義に基づいてTkinterウィジェットを親フレームに追加します。

パラメータ:
  • parent -- tk.Widget: ウィジェットが追加される親Tkinterウィジェット。

  • widgets -- list[list[dict]]: ウィジェットの定義を含む辞書の多次元リスト。

  • vars -- tkParams, optional: ウィジェットの初期値を提供するオブジェクト。デフォルトは`self.vars`。

  • config -- tkParams, optional: 作成されたウィジェットオブジェクトと関連するTkinter Variableを格納する`tkParams`オブジェクト。 デフォルトは`self.config`。

  • **kwargs --

    dict: `top_frame.pack()`に渡される追加のキーワード引数。

戻り値:

tuple: - tk.Frame: 全てのウィジェットを格納する最上位フレーム。 - tkParams: 作成されたウィジェットと関連するTkinter Variableを含む設定オブジェクト。

get_window_from_plt(plt)[ソース]

matplotlibのFigureManagerからTkinterウィンドウオブジェクトを取得し、内部的にpltを設定します。

パラメータ:

plt -- object: matplotlib.pyplotモジュールまたはFigureManagerオブジェクト。

戻り値:

tk.Tk または tk.Toplevel: 関連するTkinterウィンドウオブジェクト。

set_font(family='Helvetica', size=10, weight='normal')[ソース]

アプリケーション全体のデフォルトフォントを設定します。

パラメータ:
  • family -- str: フォントファミリー名(例: "Helvetica")。

  • size -- int: フォントサイズ。

  • weight -- str: フォントの太さ("normal"または"bold")。

戻り値:

None

show_varibles(vars, heading=None)[ソース]

指定されたオブジェクトの非callableかつ非リスト/タプルのメンバー変数を表示します。

パラメータ:
  • vars -- object: メンバー変数を表示するオブジェクト。

  • heading -- str, optional: 表示される変数の前に出力されるヘッディング文字列。デフォルトはNone。

戻り値:

None

update_variables(config=None, vars=None)[ソース]

ユーティリティ関数`update_variables`を呼び出して、Tkinterの`Variable`オブジェクトから値を取得し、別の設定オブジェクトに更新します。

パラメータ:
  • config -- tkParams, optional: var_`プレフィックスを持つTkinter Variableインスタンスを保持する設定オブジェクト。 デフォルトは`self.config

  • vars -- tkParams, optional: 更新される値を保持するターゲットオブジェクト。デフォルトは`self.vars`。

戻り値:

None

tklib.tkgui.tksimple_gui.update_variables(config, vars)[ソース]

add_widgetsで設定されたTkinterのVariableオブジェクトから値を取得し、別の設定オブジェクトに更新します。

configオブジェクト内の`var_`プレフィックスを持つ属性(`tk.StringVar`などのTkinter Variableインスタンス)を検索し、 その`get()`メソッドで取得した値を`vars`オブジェクトの対応する属性に設定します。

パラメータ:
  • config -- tkParams: `var_`プレフィックスを持つTkinter Variableインスタンスを保持する設定オブジェクト。

  • vars -- tkParams: 更新される値を保持するターゲットオブジェクト。

戻り値:

None