25.3. tkinter.tix
— Tk的扩展小部件¶
源代码: Lib/tkinter/tix.py
3.6 版后已移除: 这个Tk扩展是不保留的,不应该在新的代码中使用。请改用 tkinter.ttk
。
tkinter.tix
(Tk接口扩展)模块提供了一组额外的丰富的小部件。虽然标准的Tk库有许多有用的小部件,但它们远远不够完整。 tkinter.tix
库提供了从标准Tk:HList
,ComboBox
,Control
(a.k.a. SpinBox)和各种可滚动小部件中缺失的大多数常见的小部件。 tkinter.tix
还包括更多的小部件,其通常在广泛的应用中有用:NoteBook
,FileEntry
,PanedWindow
等;有超过40个。
通过所有这些新的小部件,您可以将新的交互技术引入应用程序,创建更有用和更直观的用户界面。您可以通过选择最适合的小部件来设计应用程序,以满足应用程序和用户的特殊需求。
参见
25.3.1. 使用Tix¶
-
class
tkinter.tix.
Tk
(screenName=None, baseName=None, className='Tix')¶ Tix的顶层小部件,它主要代表应用程序的主窗口。它有一个关联的Tcl解释器。
tkinter.tix
模块中的类对tkinter
中的类进行子类化。前者导入后者,所以要使用tkinter.tix
与Tkinter,所有你需要做的是导入一个模块。通常,您可以导入tkinter.tix
,并用tix.Tk
替换toplevel调用tkinter.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')
如果这失败,您有一个Tk安装问题,在继续之前必须解决。使用环境变量 TIX_LIBRARY
指向已安装的Tix库目录,并确保在包含Tk动态对象库(tk8183.dll
或 libtk8183.so
)的同一目录中具有动态对象库(tix8183.dll
或 libtix8183.so
)。具有动态对象库的目录也应该有一个名为 pkgIndex.tcl
(区分大小写)的文件,其中包含该行:
package ifneeded Tix 8.1 [list load "[file join $dir tix8183.dll]" Tix]
25.3.2. Tix小部件¶
25.3.2.1. 基本窗口小部件¶
-
class
tkinter.tix.
LabelEntry
¶ LabelEntry 小部件将输入小部件和标签封装到一个巨型小部件中。它可以用来简化创建“entry-form”类型的接口。
-
class
tkinter.tix.
LabelFrame
¶ LabelFrame 窗口小部件将一个框架窗口小部件和一个标签封装到一个巨型窗口小部件中。要在LabelFrame窗口小部件中创建窗口小部件,将创建相对于
frame
子窗口小部件的新窗口小部件,并在frame
子窗口小部件中管理它们。
-
class
tkinter.tix.
OptionMenu
¶ OptionMenu 创建一个选项的菜单按钮。
-
class
tkinter.tix.
StdButtonBox
¶ StdButtonBox 小部件是一组类似Motif的对话框的标准按钮。
25.3.2.2. 文件选择器¶
-
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
小部件中,以便可以再次快速选择它们。
25.3.2.3. 分层ListBox¶
25.3.2.4. 表格列表框¶
25.3.2.5. 经理窗口小部件¶
-
class
tkinter.tix.
PanedWindow
¶ PanedWindow 小部件允许用户以交互方式操纵几个窗格的大小。窗格可以垂直或水平布置。用户通过在两个窗格之间拖动调整大小手柄来更改窗格的大小。
-
class
tkinter.tix.
ListNoteBook
¶ ListNoteBook 小部件非常类似于
TixNoteBook
小部件:它可以用于使用笔记本隐喻在有限的空间中显示许多窗口。笔记本分为一堆页(窗口)。一次只能显示其中一个页面。用户可以通过在hlist
子窗口小部件中选择所需页面的名称来浏览这些页面。
25.3.2.6. 图像类型¶
tkinter.tix
模块添加:
像素图 功能,所有
tkinter.tix
和tkinter
小部件从XPM文件创建彩色图像。复合 图像类型可用于创建由多个水平线组成的图像;每行由从左到右排列的一系列项目(文本,位图,图像或空格)组成。例如,复合图像可以用于在Tk
Button
窗口小部件中同时显示位图和文本串。
25.3.3. 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)¶ 在其中一个位图目录中找到名为
name.xpm
,name.xbm
或name.ppm
的映像文件(请参见上面的tix_addbitmapdir()
方法)。如果存在多个具有相同名称(但不同的扩展名)的文件,则根据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()
方法。