tkinter.tix
--- TK擴(kuò)展包?
源代碼: Lib/tkinter/tix.py
3.6 版后已移除: 這個 TK 擴(kuò)展已無人維護(hù)所以請不要在新代碼中使用。 請改用 tkinter.ttk
。
tkinter.tix
(Tk Interface Extension) 模塊提供了更豐富的額外可視化部件集。 雖然標(biāo)準(zhǔn) Tk 庫包含許多有用的部件,但還遠(yuǎn)不夠完備。 tkinter.tix
庫提供了標(biāo)準(zhǔn) 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,這是一個可遠(yuǎn)程修改和調(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 是在部件上彈出用于提供幫助信息的部件。 當(dāng)用戶將光標(biāo)移到一個與 Balloon 部件綁定的部件內(nèi)時,將在屏幕上彈出一個顯示描述性消息的小窗口。
- class tkinter.tix.ComboBox?
ComboBox 部件類似于 MS Windows 中的組合框控件。 用戶可以通過在輸入框子部件中輸入或是在列表框子部件中選擇來選定一個選項(xiàng)。
- class tkinter.tix.Control?
Control 部件又名
SpinBox
部件。 用戶可通過點(diǎn)按兩個方向鍵或直接輸入內(nèi)容來調(diào)整數(shù)值。 更新的數(shù)值將被檢查是否在用戶定義的上下限之內(nèi)。
- class tkinter.tix.LabelEntry?
LabelEntry 部件將輸入框部件和標(biāo)簽打包為一個部件。 它可被用來簡化 "輸入表單" 類界面的創(chuàng)建。
- class tkinter.tix.LabelFrame?
LabelFrame 部件將框架部件和標(biāo)簽打包為一個部件。 要在一個 LabelFrame 部件中創(chuàng)建部件,應(yīng)當(dāng)創(chuàng)建與
frame
子部件相關(guān)聯(lián)的新部件并在frame
子部件中管理它們。
- class tkinter.tix.OptionMenu?
OptionMenu 可創(chuàng)建一個選項(xiàng)按鈕菜單。
- class tkinter.tix.PopupMenu?
PopupMenu 部件可被用來替代
tk_popup
命令。Tix
PopupMenu
部件的優(yōu)勢在于它所需要的應(yīng)用操縱代碼較少。
- class tkinter.tix.StdButtonBox?
StdButtonBox 部件是一個用于 Motif 風(fēng)格對話框的標(biāo)準(zhǔn)按鈕組。
文件選擇器?
- class tkinter.tix.DirSelectDialog?
DirSelectDialog 部件以對話框窗口形式表示文件系統(tǒng)中的目錄。 用戶可以使用該對話框窗口在文件系統(tǒng)中漫游以選擇所需的目錄。
- class tkinter.tix.DirSelectBox?
DirSelectBox
類似于標(biāo)準(zhǔn)的 Motif(TM) 目錄選擇框。 它通常用于讓用戶選擇一個目錄。 DirSelectBox 會將最近選擇的目錄存放在一個 ComboBox 部件中以便可以再次快速地選擇它們。
- class tkinter.tix.ExFileSelectBox?
ExFileSelectBox 部件通常是嵌入在 tixExFileSelectDialog 部件中。 它為用戶提供了一種方便的選擇文件方法。
ExFileSelectBox
部件的風(fēng)格非常類似于 MS Windows 3.1 中的標(biāo)準(zhǔn)文件對話框。
- class tkinter.tix.FileSelectBox?
FileSelectBox 類似于標(biāo)準(zhǔn)的 Motif(TM) 文件選擇框。 它通常用于讓用戶選擇一個文件。 FileSelectBox 會將最近選擇的文件存放在一個
ComboBox
部件中以便可以再次快速地選擇它們。
層級式列表框?
- class tkinter.tix.HList?
HList 部件可被用于顯示任何具有層級結(jié)構(gòu)的數(shù)據(jù),例如文件系統(tǒng)目錄樹。 其中的列表?xiàng)l目帶有縮進(jìn)并按照它們在層級中的位置以分支線段相連。
表格式列表框?
管理器部件?
- class tkinter.tix.PanedWindow?
PanedWindow 部件允許用戶交互式地控制多個面板的大小。 這些面板可以垂直或水平地排列。 用戶通過拖動兩個面板間的控制柄來改變面板的大小。
- class tkinter.tix.ListNoteBook?
ListNoteBook 部件非常類似于
TixNoteBook
部件:它可被用于在有限空間內(nèi)顯示多個窗口,就像是一個“筆記本”。 筆記本可分為許多頁面(窗口)。 同一時刻只能顯示其中一個頁面。 用戶可以通過在hlist
子部件中選擇所需頁面的名稱來切換這些頁面。
圖像類型?
tkinter.tix
模塊增加了:
將 pixmap 功能提供給所有
tkinter.tix
和tkinter
部件以使用 XPM 文件創(chuàng)建彩色圖像。Compound 圖像類型可被用于創(chuàng)建由許多橫行構(gòu)成的圖像;每一行都包含從左至右排列的一組條目(文本、位圖、圖像或空白)。 例如,某個組合圖像可被用于在一個 Tk
Button
部件內(nèi)同時顯示一張位圖和一個文本字符串。
其他部件?
表單布局管理器?
tkinter.tix
還額外提供了以下部件來增強(qiáng) tkinter
的功能:
Tix 命令?
- class tkinter.tix.tixCommand?
Tix 命令 提供了對
Tix
內(nèi)部狀態(tài)和Tix
應(yīng)用程序上下文等雜項(xiàng)元素的訪問。 大部分由這些方法控制的信息作為一個整體被發(fā)給應(yīng)用程序,或是發(fā)給一個屏幕或顯示區(qū)域,而不是某個特定窗口。要查看當(dāng)前的設(shè)置,通常的用法是:
from tkinter import tix root = tix.Tk() print(root.tix_configure())
- tixCommand.tix_configure(cnf=None, **kw)?
查詢或修改 Tix 應(yīng)用程序上下文的配置選項(xiàng)。 如果未指定任何選項(xiàng),則返回包含所有選項(xiàng)的字典。 如果指定了不帶值的選項(xiàng),則該方法返回描述指定選項(xiàng)的列表(如果未指定選項(xiàng)則此列表與所返回值對應(yīng)的子列表相同)。 如果指定了一個或多個選項(xiàng)-值對,則該方法會將指定的選項(xiàng)修改為指定的值;在此情況下該方法將返回一個空字符串。 選項(xiàng)可以是配置選項(xiàng)中的任何一個。
- tixCommand.tix_cget(option)?
返回由 option 給出的配置選項(xiàng)的當(dāng)前值。 選項(xiàng)可以是配置選項(xiàng)中的任何一個。
- tixCommand.tix_getbitmap(name)?
在某個位圖目錄中定位名稱為
name.xpm
或name
的位圖文件(位圖目錄參見tix_addbitmapdir()
方法)。 通過使用tix_getbitmap()
,你可以避免在你的應(yīng)用程序中硬編碼位圖文件的路徑名。 執(zhí)行成功時,它返回位圖文件的完整路徑名,并帶有前綴字符@
。 返回值可被用于配置 Tk 和 Tix 部件的bitmap
選項(xiàng)。
- tixCommand.tix_addbitmapdir(directory)?
Tix 維護(hù)了一個列表以供
tix_getimage()
和tix_getbitmap()
方法在其中搜索圖像文件。 標(biāo)準(zhǔn)位圖目錄是$TIX_LIBRARY/bitmaps
。tix_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 來指明所需的選擇對話框類型。 可用的選項(xiàng)有tix
,FileSelectDialog
或tixExFileSelectDialog
。
- tixCommand.tix_getimage(self, name)?
在某個位圖目錄(參見上文的
tix_addbitmapdir()
方法)中定位名為name.xpm
,name.xbm
或name.ppm
的圖像文件。 如果存在多個同名文件(但擴(kuò)展名不同),則會按照 X 顯示的深度選擇圖像類型:單色顯示選擇 xbm 圖像而彩色顯示則選擇彩色圖像。 通過使用tix_getimage()
,你可以避免在你的應(yīng)用程序中硬編碼圖像文件的路徑名。 當(dāng)執(zhí)行成功時,此方法將返回新創(chuàng)建圖像的名稱,它可被用于配置 Tk 和 Tix 部件的image
選項(xiàng)。
- tixCommand.tix_option_get(name)?
獲取由 Tix 方案機(jī)制維護(hù)的選項(xiàng)。
- tixCommand.tix_resetoptions(newScheme, newFontSet[, newScmPrio])?
將 Tix 應(yīng)用程序的方案與字體集分別重置為 newScheme 和 newFontSet。 這只會影響調(diào)用此方法之后創(chuàng)建的部件。 因此,最好是在 Tix 應(yīng)用程序的任何部件被創(chuàng)建之前調(diào)用 resetoptions 方法。
可以給出可選的形參 newScmPrio 來重置由 Tix 方案所設(shè)置的 Tk 選項(xiàng)的優(yōu)先級。
由于 Tk 處理 X 選項(xiàng)數(shù)據(jù)庫的特別方式,在 Tix 被導(dǎo)入并初始化之后,將無法再使用
tix_config()
方法來重置顏色方案和字體集。 而必須要使用tix_resetoptions()
方法。