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