24.3. Tix — Tkの拡張ウィジェット—Pythonドキュメント

提供:Dev Guides
< PythonPython/docs/2.7/library/tix
移動先:案内検索

24.3。 Tix —Tkの拡張ウィジェット

Tix (Tk Interface Extension)モジュールは、追加の豊富なウィジェットのセットを提供します。 標準のTkライブラリには多くの便利なウィジェットがありますが、それらは完全にはほど遠いものです。 Tix ライブラリは、標準のTkにない一般的に必要なウィジェットのほとんどを提供します: HListComboBoxControl (別名 SpinBox)とスクロール可能なウィジェットの品揃え。 Tix には、さまざまなアプリケーションで一般的に役立つウィジェットがさらに多数含まれています。 NoteBookFileEntryPanedWindow など。 それらの40以上があります。

これらすべての新しいウィジェットを使用して、アプリケーションに新しい対話手法を導入し、より便利で直感的なユーザーインターフェイスを作成できます。 アプリケーションとユーザーの特別なニーズに合わせて最も適切なウィジェットを選択することにより、アプリケーションを設計できます。

ノート

Tix は、Python3でtkinter.tixに名前が変更されました。 2to3 ツールは、ソースをPython 3に変換するときに、インポートを自動的に適応させます。


も参照してください

Tixホームページ
Tix のホームページ。 これには、追加のドキュメントとダウンロードへのリンクが含まれます。
Tixのマニュアルページ
マニュアルページと参考資料のオンライン版。
Tixプログラミングガイド
プログラマーの参考資料のオンライン版。
Tix開発アプリケーション
TixおよびTkinterプログラムの開発のためのTixアプリケーション。 TideアプリケーションはTkまたはTkinterで動作し、Tix / Tk / Tkinterアプリケーションをリモートで変更およびデバッグするインスペクターである TixInspect が含まれています。


24.3.1。 Tixの使用

class Tix.Tix(screenName[, baseName[, className]])

主にアプリケーションのメインウィンドウを表すTixのトップレベルウィジェット。 Tclインタープリターが関連付けられています。

Tix モジュールのクラスは、 Tkinter モジュールのクラスをサブクラス化します。 前者は後者をインポートするので、Tkinterで Tix を使用するには、1つのモジュールをインポートするだけです。 一般に、 Tix をインポートして、 Tkinter.Tk へのトップレベルの呼び出しをTix.Tkに置き換えることができます。

import Tix
from Tkconstants import *
root = Tix.Tk()

Tix を使用するには、通常、Tkウィジェットのインストールと一緒に Tix ウィジェットをインストールする必要があります。 インストールをテストするには、次のことを試してください。

import Tix
root = Tix.Tk()
root.tk.eval('package require Tix')

これが失敗した場合は、Tkのインストールに問題があり、続行する前に解決する必要があります。 環境変数 TIX_LIBRARYを使用して、インストールされている Tix ライブラリディレクトリをポイントし、動的オブジェクトライブラリ(tix8183.dllまたはlibtix8183.so)Tk動的オブジェクトライブラリ(tk8183.dllまたはlibtk8183.so)を含む同じディレクトリ内。 動的オブジェクトライブラリのあるディレクトリには、pkgIndex.tcl(大文字と小文字を区別)というファイルも含まれている必要があります。このファイルには次の行が含まれています。

package ifneeded Tix 8.1 [list load "[file join $dir tix8183.dll]" Tix]

24.3.2。 Tixウィジェット

Tix は、40を超えるウィジェットクラスを Tkinter レパートリーに導入します。 標準ディストリビューションのDemo/tixディレクトリには、すべての Tix ウィジェットのデモがあります。

24.3.2.1。 基本的なウィジェット

class Tix.Balloon
ヘルプを提供するためにウィジェットの上にポップアップするバルーン。 バルーンウィジェットがバインドされているウィジェット内でユーザーがカーソルを移動すると、説明メッセージを含む小さなポップアップウィンドウが画面に表示されます。
class Tix.ButtonBox
ButtonBox ウィジェットは、Ok Cancelで一般的に使用されるようなボタンのボックスを作成します。
class Tix.ComboBox
ComboBox ウィジェットは、MSWindowsのコンボボックスコントロールに似ています。 ユーザーは、エントリサブウィジェットを入力するか、リストボックスサブウィジェットから選択することにより、選択肢を選択できます。
class Tix.Control
Control ウィジェットはSpinBoxウィジェットとも呼ばれます。 ユーザーは、2つの矢印ボタンを押すか、エントリに直接値を入力することにより、値を調整できます。 新しい値は、ユーザー定義の上限と下限に対してチェックされます。
class Tix.LabelEntry
LabelEntry ウィジェットは、エントリーウィジェットとラベルを1つのメガウィジェットにパッケージ化します。 これは、「入力形式」タイプのインターフェースの作成を簡素化するために使用できます。
class Tix.LabelFrame
LabelFrame ウィジェットは、フレームウィジェットとラベルを1つのメガウィジェットにパッケージ化します。 LabelFrameウィジェット内にウィジェットを作成するには、frameサブウィジェットに関連する新しいウィジェットを作成し、frameサブウィジェット内でそれらを管理します。
class Tix.Meter
Meter ウィジェットを使用して、実行に時間がかかる可能性のあるバックグラウンドジョブの進行状況を表示できます。
class Tix.OptionMenu
OptionMenu は、オプションのメニューボタンを作成します。
class Tix.PopupMenu
PopupMenu ウィジェットは、tk_popupコマンドの代わりに使用できます。 Tix PopupMenu ウィジェットの利点は、操作に必要なアプリケーションコードが少ないことです。
class Tix.Select
Select ウィジェットは、ボタンサブウィジェットのコンテナーです。 これは、ユーザーにラジオボックスまたはチェックボックススタイルの選択オプションを提供するために使用できます。
class Tix.StdButtonBox
StdButtonBox ウィジェットは、Motifのようなダイアログボックスの標準ボタンのグループです。


24.3.2.2。 ファイルセレクター

class Tix.DirList
DirList ウィジェットは、ディレクトリ、その前のディレクトリ、およびそのサブディレクトリのリストビューを表示します。 ユーザーは、リストに表示されているディレクトリの1つを選択するか、別のディレクトリに変更できます。
class Tix.DirTree
DirTree ウィジェットは、ディレクトリ、その前のディレクトリ、およびそのサブディレクトリのツリービューを表示します。 ユーザーは、リストに表示されているディレクトリの1つを選択するか、別のディレクトリに変更できます。
class Tix.DirSelectDialog
DirSelectDialog ウィジェットは、ファイルシステム内のディレクトリをダイアログウィンドウに表示します。 ユーザーはこのダイアログウィンドウを使用してファイルシステム内を移動し、目的のディレクトリを選択できます。
class Tix.DirSelectBox
DirSelectBox は、標準のMotif(TM)ディレクトリ選択ボックスに似ています。 通常、ユーザーがディレクトリを選択するために使用されます。 DirSelectBoxは、最近選択されたディレクトリをComboBoxウィジェットに格納して、すばやく再度選択できるようにします。
class Tix.ExFileSelectBox
ExFileSelectBox ウィジェットは通常、tixExFileSelectDialogウィジェットに埋め込まれています。 これは、ユーザーがファイルを選択するための便利な方法を提供します。 ExFileSelectBox ウィジェットのスタイルは、MS Windows3.1の標準のファイルダイアログと非常によく似ています。
class Tix.FileSelectBox
FileSelectBox は、標準のMotif(TM)ファイル選択ボックスに似ています。 通常、ユーザーがファイルを選択するために使用されます。 FileSelectBoxは、最近選択されたファイルを ComboBox ウィジェットに保存して、すばやく再度選択できるようにします。
class Tix.FileEntry
FileEntry ウィジェットを使用して、ファイル名を入力できます。 ユーザーはファイル名を手動で入力できます。 または、エントリの横にあるボタンウィジェットを押すと、ファイル選択ダイアログが表示されます。


24.3.2.3。 階層リストボックス

class Tix.HList
HList ウィジェットを使用して、ファイルシステムディレクトリツリーなど、階層構造を持つ任意のデータを表示できます。 リストエントリは、階層内の位置に応じてインデントされ、分岐線で接続されます。
class Tix.CheckList
CheckList ウィジェットには、ユーザーが選択するアイテムのリストが表示されます。 CheckListは、チェックボタンまたはラジオボタンよりもはるかに多くの項目を処理できることを除いて、Tkチェックボタンまたはラジオボタンウィジェットと同様に機能します。
class Tix.Tree
Tree ウィジェットを使用して、階層データをツリー形式で表示できます。 ユーザーは、ツリーの一部を開いたり閉じたりすることで、ツリーのビューを調整できます。


24.3.2.4。 表形式のリストボックス

class Tix.TList
TList ウィジェットを使用して、データを表形式で表示できます。 TList ウィジェットのリストエントリは、Tkリストボックスウィジェットのエントリに似ています。 主な違いは、(1) TList ウィジェットがリストエントリを2次元形式で表示できること、および(2)グラフィックイメージと複数の色およびフォントをリストエントリに使用できることです。


24.3.2.5。 マネージャーウィジェット

class Tix.PanedWindow
PanedWindow ウィジェットを使用すると、ユーザーは複数のペインのサイズをインタラクティブに操作できます。 ペインは、垂直または水平に配置できます。 ユーザーは、2つのペイン間でサイズ変更ハンドルをドラッグして、ペインのサイズを変更します。
class Tix.ListNoteBook
ListNoteBook ウィジェットは、TixNoteBookウィジェットと非常によく似ています。ノートブックのメタファーを使用して、限られたスペースに多くのウィンドウを表示するために使用できます。 ノートブックはページのスタック(ウィンドウ)に分割されています。 一度に表示できるのは、これらのページの1つだけです。 ユーザーは、hlistサブウィジェットで目的のページの名前を選択することにより、これらのページをナビゲートできます。
class Tix.NoteBook
NoteBook ウィジェットは、ノートブックのメタファーを使用して、限られたスペースに多くのウィンドウを表示するために使用できます。 ノートブックはページのスタックに分割されています。 一度に表示できるのは、これらのページの1つだけです。 ユーザーは、NoteBookウィジェットの上部にある視覚的な「タブ」を選択することで、これらのページをナビゲートできます。


24.3.2.6。 画像の種類

Tix モジュールは以下を追加します。

  • pixmap 機能をすべての Tix および Tkinter ウィジェットに追加して、XPMファイルからカラー画像を作成します。
  • 化合物画像タイプを使用して、複数の水平線で構成される画像を作成できます。 各行は、左から右に配置された一連のアイテム(テキスト、ビットマップ、画像、またはスペース)で構成されています。 たとえば、複合画像を使用して、Tk Buttonウィジェットでビットマップとテキスト文字列を同時に表示できます。


24.3.2.7。 その他のウィジェット

class Tix.InputOnly
InputOnly ウィジェットは、ユーザーからの入力を受け入れるためのものであり、これはbindコマンド(Unixのみ)で実行できます。


24.3.2.8。 フォームジオメトリマネージャー

さらに、 Tix は、次の機能を提供することで Tkinter を拡張します。

class Tix.Form
すべてのTkウィジェットの添付ルールに基づく Form ジオメトリマネージャー。


24.3.3。 Tixコマンド

class Tix.tixCommand

tixコマンドは、 Tix の内部状態および Tix アプリケーションコンテキストのその他の要素へのアクセスを提供します。 これらのメソッドによって操作される情報のほとんどは、特定のウィンドウではなく、アプリケーション全体、または画面やディスプレイに関連しています。

現在の設定を表示するための一般的な使用法は次のとおりです。

import Tix
root = Tix.Tk()
print root.tix_configure()
tixCommand.tix_configure(cnf=None ** kw)
Tixアプリケーションコンテキストの構成オプションを照会または変更します。 オプションが指定されていない場合、使用可能なすべてのオプションの辞書を返します。 オプションが値なしで指定されている場合、メソッドは1つの名前付きオプションを説明するリストを返します(このリストは、オプションが指定されていない場合に返される値の対応するサブリストと同じになります)。 1つ以上のオプションと値のペアが指定されている場合、メソッドは指定されたオプションを変更して、指定された値を持ちます。 この場合、メソッドは空の文字列を返します。 オプションは、構成オプションのいずれかです。
tixCommand.tix_cget(option)
option で指定された構成オプションの現在の値を返します。 オプションは、構成オプションのいずれかです。
tixCommand.tix_getbitmap(name)
name.xpmまたはnameという名前のビットマップファイルをビットマップディレクトリの1つに配置します( tix_addbitmapdir()メソッドを参照)。 tix_getbitmap()を使用すると、アプリケーションでビットマップファイルのパス名をハードコーディングする必要がなくなります。 成功すると、文字@が前に付いたビットマップファイルの完全なパス名が返されます。 戻り値を使用して、TkおよびTixウィジェットのbitmapオプションを構成できます。
tixCommand.tix_addbitmapdir(directory)
Tixは、 tix_getimage()および tix_getbitmap()メソッドが画像ファイルを検索するディレクトリのリストを保持しています。 標準のビットマップディレクトリは$TIX_LIBRARY/bitmapsです。 tix_addbitmapdir()メソッドは、ディレクトリをこのリストに追加します。 このメソッドを使用すると、 tix_getimage()または tix_getbitmap()メソッドを使用してアプリケーションのイメージファイルを見つけることもできます。
tixCommand.tix_filedialog([dlgclass])
このアプリケーションからの異なる呼び出し間で共有される可能性のあるファイル選択ダイアログを返します。 このメソッドは、最初に呼び出されたときにファイル選択ダイアログウィジェットを作成します。 このダイアログは、 tix_filedialog()への後続のすべての呼び出しによって返されます。 オプションのdlgclassパラメータを文字列として渡して、必要なファイル選択ダイアログウィジェットのタイプを指定できます。 可能なオプションは、tixFileSelectDialog、またはtixExFileSelectDialogです。
tixCommand.tix_getimage(self, name)
ビットマップディレクトリの1つでname.xpmname.xbm、またはname.ppmという名前のイメージファイルを検索します(上記の tix_addbitmapdir()メソッドを参照)。 同じ名前(ただし拡張子が異なる)のファイルが複数存在する場合は、Xディスプレイの奥行きに応じて画像タイプが選択されます。モノクロディスプレイではxbm画像が選択され、カラーディスプレイではカラー画像が選択されます。 tix_getimage()を使用すると、アプリケーションで画像ファイルのパス名をハードコーディングする必要がなくなります。 成功すると、このメソッドは新しく作成されたイメージの名前を返します。これを使用して、TkウィジェットとTixウィジェットのimageオプションを構成できます。
tixCommand.tix_option_get(name)
Tixスキームメカニズムによって維持されるオプションを取得します。
tixCommand.tix_resetoptions(newScheme, newFontSet[, newScmPrio])

Tixアプリケーションのスキームとフォントセットをそれぞれ newSchemenewFontSet にリセットします。 これは、この呼び出しの後に作成されたウィジェットにのみ影響します。 したがって、Tixアプリケーションでウィジェットを作成する前に、resetoptionsメソッドを呼び出すことをお勧めします。

オプションのパラメータ newScmPrio を指定して、Tixスキームによって設定されたTkオプションの優先度レベルをリセットできます。

TkがXオプションデータベースを処理する方法のため、Tixがインポートされて初期化された後は、tix_config()メソッドを使用して配色とフォントセットをリセットすることはできません。 代わりに、 tix_resetoptions()メソッドを使用する必要があります。