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 还包括了大é‡�在多ç§�ä¸�å�Œé¢†åŸŸçš„应用ä¸å¾ˆå¸¸ç”¨çš„部件: NoteBook, FileEntry, PanedWindow ç‰ç‰ï¼›æ€»å…±æœ‰è¶…过 40 ç§�。
ä½¿ç”¨è¿™äº›æ–°å¢žéƒ¨ä»¶ï¼Œä½ å�¯ä»¥ä¸ºåº”用程åº�引入新的交互技术,创建更好用且更直观的用户界é�¢ã€‚ ä½ åœ¨è®¾è®¡åº”ç”¨ç¨‹åº�æ—¶å�¯ä»¥é€šè¿‡é€‰æ‹©æœ€é€‚å�ˆçš„部件æ�¥åŒ¹é…�ä½ çš„åº”ç”¨ç¨‹åº�和用户的特殊需求。
��
- Tix 主页
Tix的主页。 å…¶ä¸åŒ…æ‹¬é™„åŠ æ–‡æ¡£å’Œä¸‹è½½èµ„æº�的链接。- Tix 指å�—页é�¢
在线版本的指�页�和�考�料。
- Tix 编程指引
在线版本的程�员�考�料。
- Tix 开�应用程�
开� Tix 和 Tkinter 程�的 Tix 应用。 Tide 应用在 Tk 在 Tkinter 下工作,并包括了 TixInspect,这是一个�远程修改和调试 Tix/Tk/Tkinter 应用的检查工具。
使用 Tix¶
- class tkinter.tix.Tk(screenName=None, baseName=None, className='Tix')¶
最常用于代表应用主窗�的最高层级部件。 它具有一个相关�的 Tcl 解释器。interpreter.
tkinter.tix模å�—ä¸çš„ç±»å�类化了tkinterä¸çš„类。 å‰�者会导入å�Žè€…ï¼Œå› æ¤tkinter.tixè¦�使用 Tkinterï¼Œä½ æ‰€è¦�å�šçš„就是导入一个模å�—。 é€šå¸¸ï¼Œä½ å�¯ä»¥å�ªå¯¼å…¥tkinter.tix,并将最高层级调用由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 部件绑定的部件内时,将在å±�幕上弹出一个显示æ��述性消æ�¯çš„å°�窗å�£ã€‚
- class tkinter.tix.ButtonBox¶
ButtonBox 部件 会创建一组按钮框,例如常用的
Ok Cancel按钮框。
- class tkinter.tix.ComboBox¶
ComboBox 部件 类似于 MS Windows ä¸çš„组å�ˆæ¡†æŽ§ä»¶ã€‚ 用户å�¯ä»¥é€šè¿‡åœ¨è¾“入框å�部件ä¸è¾“入或是在列表框å�部件ä¸é€‰æ‹©æ�¥é€‰å®šä¸€ä¸ªé€‰é¡¹ã€‚
- class tkinter.tix.Control¶
Control 部件��
SpinBox部件。 用户�通过点按两个方�键或直接输内容�调整数值。 更新的数值将被检查是�在用户定义的上下�之内。
- class tkinter.tix.LabelEntry¶
LabelEntry 部件 å°†è¾“å…¥æ¡†éƒ¨ä»¶å’Œæ ‡ç¾æ‰“包为一个部件。 它å�¯è¢«ç”¨æ�¥ç®€åŒ–“输入表å�•â€�类界é�¢çš„创建。
- class tkinter.tix.LabelFrame¶
LabelFrame éƒ¨ä»¶å°†æ¡†æž¶éƒ¨ä»¶å’Œæ ‡ç¾æ‰“包为一个部件。 è¦�在一个 LabelFrame 部件ä¸åˆ›å»ºéƒ¨ä»¶ï¼Œåº”当创建与
frameå�部件相关è�”的新部件并在frameå�部件ä¸ç®¡ç�†å®ƒä»¬ã€‚
- class tkinter.tix.Meter¶
Meter 部件�用�显示�能会耗费很长时间�行的��任务的进度。
- class tkinter.tix.OptionMenu¶
OptionMenu �创建一个选项按钮��。
- class tkinter.tix.PopupMenu¶
PopupMenu 部件�被用�替代
tk_popup命令。TixPopupMenu部件的优势在于它所需è¦�æ“�纵的应用代ç �较少。
- class tkinter.tix.Select¶
Select 控件是一组按钮å�控件的容器。 它å�¯è¢«ç”¨æ�¥ä¸ºç”¨æˆ·æ��ä¾›å�•选钮或å¤�选钮形å¼�的选项。
- class tkinter.tix.StdButtonBox¶
StdButtonBox 部件是一个用于 Motif é£Žæ ¼å¯¹è¯�æ¡†çš„æ ‡å‡†æŒ‰é’®ç»„ã€‚
文件选择器¶
- class tkinter.tix.DirList¶
DirList 部件显示一个目录ã€�它的上级目录和å�目录的列表视图。 用户å�¯ä»¥é€‰æ‹©è¡¨ä¸æ˜¾ç¤ºçš„æŸ�个目录或切æ�¢åˆ°å�¦ä¸€ä¸ªç›®å½•。
- class tkinter.tix.DirTree¶
DirTree 部件显示一个目录ã€�它的上级目录和å�ç›®å½•çš„æ ‘çŠ¶è§†å›¾ã€‚ 用户å�¯ä»¥é€‰æ‹©å…¶ä¸æ˜¾ç¤ºçš„æŸ�个目录或切æ�¢åˆ°å�¦ä¸€ä¸ªç›®å½•。
- class tkinter.tix.DirSelectDialog¶
DirSelectDialog 部件以对è¯�框窗å�£å½¢å¼�表示文件系统ä¸çš„目录。 用户å�¯ä»¥ä½¿ç”¨è¯¥å¯¹è¯�框窗å�£åœ¨æ–‡ä»¶ç³»ç»Ÿä¸æ¼«æ¸¸ä»¥é€‰æ‹©æ‰€éœ€çš„目录。
- 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.HList¶
HList 部件å�¯è¢«ç”¨äºŽæ˜¾ç¤ºä»»ä½•具有层级结构的数æ�®ï¼Œä¾‹å¦‚æ–‡ä»¶ç³»ç»Ÿç›®å½•æ ‘ã€‚ å…¶ä¸çš„列表æ�¡ç›®å¸¦æœ‰ç¼©è¿›å¹¶æŒ‰ç…§æŽ’泄物的层级ä¸çš„ä½�置以分支线段相连。
è¡¨æ ¼å¼�列表框¶
管�器部件¶
- class tkinter.tix.PanedWindow¶
PanedWindow 部件�许用户交互�地控件多个��的大�。 这些���以垂直或水平地排列。 用户通过拖动两个��间的控制柄�改���的大�。
- class tkinter.tix.ListNoteBook¶
ListNoteBook 部件�常类似于
TixNoteBook部件:它å�¯è¢«ç”¨äºŽåœ¨æœ‰é™�空间内显示多个窗å�£ï¼Œå°±åƒ�是一个笔记本。 笔记本被分æˆ�许多é‡�å� 的页é�¢ï¼ˆçª—å�£ï¼‰ã€‚ å�Œä¸€æ—¶åˆ»å�ªèƒ½æ˜¾ç¤ºå…¶ä¸ä¸€ä¸ªé¡µé�¢ã€‚ 用户å�¯ä»¥é€šè¿‡åœ¨hlistå�部件ä¸é€‰æ‹©æ‰€éœ€é¡µé�¢çš„å��ç§°æ�¥åˆ‡æ�¢è¿™äº›é¡µé�¢ã€‚
- class tkinter.tix.NoteBook¶
NoteBook 部件å�¯è¢«ç”¨äºŽåœ¨æœ‰é™�空间内显示多个窗å�£ï¼Œå°±åƒ�是一个笔记本。 笔记本被分æˆ�许多é‡�å� 的页é�¢ã€‚ å�Œä¸€æ—¶åˆ»å�ªèƒ½æ˜¾ç¤ºå…¶ä¸ä¸€ä¸ªé¡µé�¢ã€‚ 用户å�¯ä»¥é€šè¿‡é€‰æ‹© NoteBook 部件顶端的å�¯è§†åŒ–“选项å�¡â€�æ�¥åˆ‡æ�¢è¿™äº›é¡µé�¢ã€‚
图�类型¶
tkinter.tix 模å�—å¢žåŠ äº†:
pixmap 功能�供给所有
tkinter.tix和tkinter部件以使用 XPM 文件创建彩色图�。Compound 图�类型�被用于创建由许多水平行构�的图�;�一行都包�从左至�排列的一组�目(文本��图�图�或空白)。 例如,�个组�图��被用于在一个 Tk
Button部件内å�Œæ—¶æ˜¾ç¤ºä¸€å¼ ä½�图和一个文本å—符串。
其他部件¶
表�布局管�器¶
tkinter.tix 还�外�供了以下部件�增强 tkinter 的功能:
Tix 命令¶
- class tkinter.tix.tixCommand¶
tix 命令 �供了对
Tix内部状æ€�å’ŒTix应用程åº�ä¸Šä¸‹æ–‡ç‰æ�‚é¡¹å…ƒç´ çš„è®¿é—®ã€‚ 大部分由这些方法控制的信æ�¯ä¼šä½œä¸ºä¸€ä¸ªæ•´ä½“å�‘给应用程åº�,或是å�‘给一个å±�幕或显示区域,而ä¸�是æŸ�个特定窗å�£ã€‚è¦�查看当å‰�的设置,通常的用法是:
from tkinter import tix root = tix.Tk() print(root.tix_configure())
- tixCommand.tix_configure(cnf=None, **kw)¶
查询或修改 Tix 应用程åº�上下文的é…�置选项。 如果未指定任何选项,则返回包å�«æ‰€æœ‰é€‰é¡¹çš„å—典。 如果指定了ä¸�带值的选项,则该方法返回æ��述指定选项的列表(如果未指定选项则æ¤åˆ—表与所返回值对应的å�列表相å�Œï¼‰ã€‚ 如果指定了一个或多个选项-å€¼å¯¹ï¼Œåˆ™è¯¥æ–¹æ³•ä¼šå°†æŒ‡å®šçš„é€‰é¡¹ä¿®æ”¹ä¸ºæŒ‡å®šçš„å€¼ï¼›åœ¨æ¤æƒ…况下该方法将返回一个空å—符串。 选项å�¯ä»¥æ˜¯é…�置选项ä¸çš„任何一个。
- tixCommand.tix_cget(option)¶
返回由 option 给出的é…�置选项的当å‰�值。 选项å�¯ä»¥æ˜¯é…�置选项ä¸çš„任何一个。
- tixCommand.tix_getbitmap(name)¶
在æŸ�个ä½�图目录ä¸å®šä½�å��称为
name.xpm或nameçš„ä½�图文件(ä½�图目录å�‚è§�tix_addbitmapdir()方法)。 通过使用tix_getbitmap()ï¼Œä½ å�¯ä»¥é�¿å…�åœ¨ä½ çš„åº”ç”¨ç¨‹åº�ä¸ç¡¬ç¼–ç �ä½�图文件的路径å��。 执行æˆ�功时,它返回ä½�图文件的完整路径å��,并带有å‰�ç¼€å—符@。 返回值å�¯è¢«ç”¨äºŽé…�ç½® Tk å’Œ Tix 部件的bitmap选项。
- tixCommand.tix_addbitmapdir(directory)¶
Tix 维护了一个列表以供
tix_getimage()å’Œtix_getbitmap()æ–¹æ³•åœ¨å…¶ä¸æ�œç´¢å›¾åƒ�文件。 æ ‡å‡†ä½�图目录是$TIX_LIBRARY/bitmaps。tix_addbitmapdir()方法å�‘è¯¥åˆ—è¡¨æ·»åŠ äº† directory。 é€šè¿‡ä½¿ç”¨æ¤æ–¹æ³•,应用程åº�的图åƒ�文件也å�¯ä½¿ç”¨tix_getimage()或tix_getbitmap()方法æ�¥å®šä½�。
- tixCommand.tix_filedialog([dlgclass])¶
返回å�¯åœ¨æ�¥è‡ªè¯¥åº”用程åº�çš„å�Œä¸�调用之间共享的选择对è¯�框。 æ¤æ–¹æ³•将在首次被调用时创建一个选择对è¯�框部件。 æ¤å�Žå¯¹
tix_filedialog()的所有调用都将返回该对è¯�框。 å�¯ä»¥ä¼ 入一个å—符串形å¼�çš„å�¯é€‰å½¢å�‚ dlgclass æ�¥æŒ‡æ˜Žæ‰€éœ€çš„选择对è¯�框类型。 å�¯ç”¨çš„选项有tix,FileSelectDialog或tixExFileSelectDialog。
- tixCommand.tix_getimage(self, name)¶
在�个�图目录(��上文的
tix_addbitmapdir()方法)ä¸å®šä½�å��为name.xpm,name.xbm或name.ppm的图åƒ�文件。 如果å˜åœ¨å¤šä¸ªå�Œå��文件(但扩展å��ä¸�å�Œï¼‰ï¼Œåˆ™ä¼šæŒ‰ç…§ X 显示的深度选择图åƒ�类型:å�•色显示选择 xbm 图åƒ�而彩色显示则选择彩色图åƒ�。 通过使用tix_getimage()ï¼Œä½ å�¯ä»¥é�¿å…�åœ¨ä½ çš„åº”ç”¨ç¨‹åº�ä¸ç¡¬ç¼–ç �图åƒ�文件的路径å��。 当执行æˆ�åŠŸæ—¶ï¼Œæ¤æ–¹æ³•将返回新创建图åƒ�çš„å��称,它å�¯è¢«ç”¨äºŽé…�ç½® Tk å’Œ Tix 部件的image选项。
- tixCommand.tix_option_get(name)¶
获�由 Tix 方案机制维护的选项。
- tixCommand.tix_resetoptions(newScheme, newFontSet[, newScmPrio])¶
å°† Tix 应用程åº�的方案与å—体集分别é‡�置为 newScheme å’Œ newFontSet。 è¿™å�ªä¼šå½±å“�è°ƒç”¨æ¤æ–¹æ³•之å�Žåˆ›å»ºçš„部件。 å› æ¤ï¼Œæœ€å¥½æ˜¯åœ¨ Tix 应用程åº�的任何部件被创建之å‰�调用 resetoptions 方法。
�以给出�选的形� newScmPrio ��置由 Tix 方案所设置的 Tk 选项的优先级。
由于 Tk 处ç�† X 选项数æ�®åº“的特别方å¼�,在 Tix 被导入并åˆ�始化之å�Žï¼Œå°†æ— 法å†�使用
tix_config()方法æ�¥é‡�置颜色方案和å—体集。 而必须è¦�使用tix_resetoptions()方法。