tkinter.tix --- TK擴展包?

源代碼: Lib/tkinter/tix.py

3.6 版后已移除: 這個 TK 擴展已無人維護所以請不要在新代碼中使用。 請改用 tkinter.ttk。


tkinter.tix (Tk Interface Extension) 模塊提供了更豐富的額外可視化部件集。 雖然標準 Tk 庫包含許多有用的部件,但還遠不夠完備。 tkinter.tix 庫提供了標準 Tk 所缺少的大量常用部件: HList, ComboBox, Control (即 SpinBox) 以及一系列可滾動的部件。 tkinter.tix 還包括了大量在多種不同領(lǐng)域的應(yīng)用中很常用的部件: NoteBook, FileEntry, PanedWindow 等等;總共有超過 40 種。

使用這些新增部件,你可以為應(yīng)用程序引入新的交互技術(shù),創(chuàng)建更好用且更直觀的用戶界面。 你在設(shè)計應(yīng)用程序時可以通過選擇最適合的部件來匹配你的應(yīng)用程序和用戶的特殊需求。

參見

Tix Homepage

Tix 的主頁。 其中包括附加文檔和下載資源的鏈接。

Tix Man Pages

在線版本的指南頁面和參考材料。

Tix Programming Guide

在線版本的程序員參考材料。

Tix Development Applications

開發(fā) Tix 和 Tkinter 程序的 Tix 應(yīng)用。 Tide 應(yīng)用在 Tk 在 Tkinter 下工作,并包括了 TixInspect,這是一個可遠程修改和調(diào)試 Tix/Tk/Tkinter 應(yīng)用的檢查工具。

使用 Tix?

class tkinter.tix.Tk(screenName=None, baseName=None, className='Tix')?

最常用于代表應(yīng)用主窗口的最高層級部件。 它具有一個相關(guān)聯(lián)的 Tcl 解釋器。interpreter.

tkinter.tix 模塊中的類子類化了 tkinter 中的類。 前者會導(dǎo)入后者,因此 tkinter.tix 要使用 Tkinter,你所要做的就是導(dǎo)入一個模塊。 通常,你可以只導(dǎo)入 tkinter.tix,并將最高層級調(diào)用由 tkinter.Tk 替換為 tix.Tk:

from tkinter import tix
from tkinter.constants import *
root = tix.Tk()

要使用 tkinter.tix,你必須安裝有 Tix 部件,通常會與你的 Tk 部分一起安裝。 要測試你的安裝,請嘗試以下代碼:

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

Tix 部件?

Tix 將 40 多個部件類引入到 tkinter 工具集中。

基本部件?

class tkinter.tix.Balloon?

Balloon 是在部件上彈出用于提供幫助信息的部件。 當用戶將光標移到一個與 Balloon 部件綁定的部件內(nèi)時,將在屏幕上彈出一個顯示描述性消息的小窗口。

class tkinter.tix.ButtonBox?

ButtonBox 部件會創(chuàng)建一組按鈕框,例如常用的 Ok Cancel 按鈕框。

class tkinter.tix.ComboBox?

ComboBox 部件類似于 MS Windows 中的組合框控件。 用戶可以通過在輸入框子部件中輸入或是在列表框子部件中選擇來選定一個選項。

class tkinter.tix.Control?

Control 部件又名 SpinBox 部件。 用戶可通過點按兩個方向鍵或直接輸入內(nèi)容來調(diào)整數(shù)值。 更新的數(shù)值將被檢查是否在用戶定義的上下限之內(nèi)。

class tkinter.tix.LabelEntry?

LabelEntry 部件將輸入框部件和標簽打包為一個部件。 它可被用來簡化 "輸入表單" 類界面的創(chuàng)建。

class tkinter.tix.LabelFrame?

LabelFrame 部件將框架部件和標簽打包為一個部件。 要在一個 LabelFrame 部件中創(chuàng)建部件,應(yīng)當創(chuàng)建與 frame 子部件相關(guān)聯(lián)的新部件并在 frame 子部件中管理它們。

class tkinter.tix.Meter?

Meter 部件可用來顯示可能會耗費很長時間運行的后臺任務(wù)的進度。

class tkinter.tix.OptionMenu?

OptionMenu 可創(chuàng)建一個選項按鈕菜單。

class tkinter.tix.PopupMenu?

PopupMenu 部件可被用來替代 tk_popup 命令。 Tix PopupMenu 部件的優(yōu)勢在于它所需要的應(yīng)用操縱代碼較少。

class tkinter.tix.Select?

Select 控件是一組按鈕子控件的容器。 它可被用來為用戶提供單選鈕或復(fù)選鈕形式的選項。

class tkinter.tix.StdButtonBox?

StdButtonBox 部件是一個用于 Motif 風格對話框的標準按鈕組。

文件選擇器?

class tkinter.tix.DirList?

DirList 部件顯示一個目錄、它的上級目錄和子目錄的列表視圖。 用戶可以選擇列表中顯示的某個目錄或切換到另一個目錄。

class tkinter.tix.DirTree?

DirTree 部件顯示一個目錄、它的上級目錄和子目錄的樹狀視圖。 用戶可以選擇其中顯示的某個目錄或切換到另一個目錄。

class tkinter.tix.DirSelectDialog?

DirSelectDialog 部件以對話框窗口形式表示文件系統(tǒng)中的目錄。 用戶可以使用該對話框窗口在文件系統(tǒng)中漫游以選擇所需的目錄。

class tkinter.tix.DirSelectBox?

DirSelectBox 類似于標準的 Motif(TM) 目錄選擇框。 它通常用于讓用戶選擇一個目錄。 DirSelectBox 會將最近選擇的目錄存放在一個 ComboBox 部件中以便可以再次快速地選擇它們。

class tkinter.tix.ExFileSelectBox?

ExFileSelectBox 部件通常是嵌入在 tixExFileSelectDialog 部件中。 它為用戶提供了一種方便的選擇文件方法。 ExFileSelectBox 部件的風格非常類似于 MS Windows 3.1 中的標準文件對話框。

class tkinter.tix.FileSelectBox?

FileSelectBox 類似于標準的 Motif(TM) 文件選擇框。 它通常用于讓用戶選擇一個文件。 FileSelectBox 會將最近選擇的文件存放在一個 ComboBox 部件中以便可以再次快速地選擇它們。

class tkinter.tix.FileEntry?

FileEntry 部件可被用于輸入一個文件名。 用戶可以手動輸入文件名。 或者用戶也可以按輸入框旁邊的按鈕控件,這將打開一個文件選擇對話框。

層級式列表框?

class tkinter.tix.HList?

HList 部件可被用于顯示任何具有層級結(jié)構(gòu)的數(shù)據(jù),例如文件系統(tǒng)目錄樹。 其中的列表條目帶有縮進并按照它們在層級中的位置以分支線段相連。

class tkinter.tix.CheckList?

CheckList 部件可顯示一個供用戶選擇的條目列表。 CheckList 的功能類似于 Tk 復(fù)選鈕或單選鈕部件,不同之處在于它能夠處理比復(fù)選鈕或單選鈕多得多的條目。

class tkinter.tix.Tree?

Tree 部件可被用于以樹形顯示具有層級結(jié)構(gòu)的數(shù)據(jù)。 用戶可以通過打開或關(guān)閉部分樹枝來調(diào)整樹形視圖。

表格式列表框?

class tkinter.tix.TList?

TList 部件可被用于以表格形式顯示數(shù)據(jù)。 TList 部件中的列表條目類似于 Tk 列表框部件中的條目。 主要差異在于 (1) TList 部件能以二維格式顯示列表條目 (2) 你可以在列表條目中使用圖片以及多種顏色和字體。

管理器部件?

class tkinter.tix.PanedWindow?

PanedWindow 部件允許用戶交互式地控制多個面板的大小。 這些面板可以垂直或水平地排列。 用戶通過拖動兩個面板間的控制柄來改變面板的大小。

class tkinter.tix.ListNoteBook?

ListNoteBook 部件非常類似于 TixNoteBook 部件:它可被用于在有限空間內(nèi)顯示多個窗口,就像是一個“筆記本”。 筆記本可分為許多頁面(窗口)。 同一時刻只能顯示其中一個頁面。 用戶可以通過在 hlist 子部件中選擇所需頁面的名稱來切換這些頁面。

class tkinter.tix.NoteBook?

NoteBook 部件可被用于在有限空間內(nèi)顯示多個窗口,就像是一個“筆記本”。 筆記本可分為許多頁面。 同一時刻只能顯示其中一個頁面。 用戶可以通過選擇 NoteBook 部件頂端的可視化“選項卡”來切換這些頁面。

圖像類型?

tkinter.tix 模塊增加了:

  • pixmap 功能提供給所有 tkinter.tixtkinter 部件以使用 XPM 文件創(chuàng)建彩色圖像。

  • Compound 圖像類型可被用于創(chuàng)建由許多橫行構(gòu)成的圖像;每一行都包含從左至右排列的一組條目(文本、位圖、圖像或空白)。 例如,某個組合圖像可被用于在一個 Tk Button 部件內(nèi)同時顯示一張位圖和一個文本字符串。

其他部件?

class tkinter.tix.InputOnly?

InputOnly 部件可接收來自用戶的輸入,此功能可通過 bind 命令實現(xiàn)(僅限 Unix)。

表單布局管理器?

tkinter.tix 還額外提供了以下部件來增強 tkinter 的功能:

class tkinter.tix.Form?

Form 布局管理器是以針對所有 Tk 部件的附加規(guī)則為基礎(chǔ)的。

Tix 命令?

class tkinter.tix.tixCommand?

Tix 命令 提供了對 Tix 內(nèi)部狀態(tài)和 Tix 應(yīng)用程序上下文等雜項元素的訪問。 大部分由這些方法控制的信息作為一個整體被發(fā)給應(yīng)用程序,或是發(fā)給一個屏幕或顯示區(qū)域,而不是某個特定窗口。

要查看當前的設(shè)置,通常的用法是:

from tkinter import tix
root = tix.Tk()
print(root.tix_configure())
tixCommand.tix_configure(cnf=None, **kw)?

查詢或修改 Tix 應(yīng)用程序上下文的配置選項。 如果未指定任何選項,則返回包含所有選項的字典。 如果指定了不帶值的選項,則該方法返回描述指定選項的列表(如果未指定選項則此列表與所返回值對應(yīng)的子列表相同)。 如果指定了一個或多個選項-值對,則該方法會將指定的選項修改為指定的值;在此情況下該方法將返回一個空字符串。 選項可以是配置選項中的任何一個。

tixCommand.tix_cget(option)?

返回由 option 給出的配置選項的當前值。 選項可以是配置選項中的任何一個。

tixCommand.tix_getbitmap(name)?

在某個位圖目錄中定位名稱為 name.xpmname 的位圖文件(位圖目錄參見 tix_addbitmapdir() 方法)。 通過使用 tix_getbitmap(),你可以避免在你的應(yīng)用程序中硬編碼位圖文件的路徑名。 執(zhí)行成功時,它返回位圖文件的完整路徑名,并帶有前綴字符 @。 返回值可被用于配置 Tk 和 Tix 部件的 bitmap 選項。

tixCommand.tix_addbitmapdir(directory)?

Tix 維護了一個列表以供 tix_getimage()tix_getbitmap() 方法在其中搜索圖像文件。 標準位圖目錄是 $TIX_LIBRARY/bitmapstix_addbitmapdir() 方法向該列表添加了 directory。 通過使用此方法,應(yīng)用程序的圖像文件也可使用 tix_getimage()tix_getbitmap() 方法來定位。

tixCommand.tix_filedialog([dlgclass])?

返回可在來自該應(yīng)用程序的同不調(diào)用之間共享的選擇對話框。 此方法將在首次被調(diào)用時創(chuàng)建一個選擇對話框部件。 此后對 tix_filedialog() 的所有調(diào)用都將返回該對話框。 可以傳入一個字符串形式的可選形參 dlgclass 來指明所需的選擇對話框類型。 可用的選項有 tix, FileSelectDialogtixExFileSelectDialog。

tixCommand.tix_getimage(self, name)?

在某個位圖目錄(參見上文的 tix_addbitmapdir() 方法)中定位名為 name.xpm, name.xbmname.ppm 的圖像文件。 如果存在多個同名文件(但擴展名不同),則會按照 X 顯示的深度選擇圖像類型:單色顯示選擇 xbm 圖像而彩色顯示則選擇彩色圖像。 通過使用 tix_getimage(),你可以避免在你的應(yīng)用程序中硬編碼圖像文件的路徑名。 當執(zhí)行成功時,此方法將返回新創(chuàng)建圖像的名稱,它可被用于配置 Tk 和 Tix 部件的 image 選項。

tixCommand.tix_option_get(name)?

獲取由 Tix 方案機制維護的選項。

tixCommand.tix_resetoptions(newScheme, newFontSet[, newScmPrio])?

將 Tix 應(yīng)用程序的方案與字體集分別重置為 newSchemenewFontSet。 這只會影響調(diào)用此方法之后創(chuàng)建的部件。 因此,最好是在 Tix 應(yīng)用程序的任何部件被創(chuàng)建之前調(diào)用 resetoptions 方法。

可以給出可選的形參 newScmPrio 來重置由 Tix 方案所設(shè)置的 Tk 選項的優(yōu)先級。

由于 Tk 處理 X 選項數(shù)據(jù)庫的特別方式,在 Tix 被導(dǎo)入并初始化之后,將無法再使用 tix_config() 方法來重置顏色方案和字體集。 而必須要使用 tix_resetoptions() 方法。