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