tkinter.tix — Tk 的扩展部件

源代码: Lib/tkinter/tix.py

3.6 版后已弃用: 此 Tk 扩展未维护,不应在新代码中使用。请改用 tkinter.ttk


tkinter.tix(Tk 接口扩展)模块提供了一组额外的丰富部件。虽然标准 Tk 库有许多有用的部件,但它们还远远不够完善。tkinter.tix 库提供了标准 Tk 中缺少的大多数常用部件:HListComboBoxControl(又名 SpinBox)以及各种可滚动部件。tkinter.tix 还包含许多在各种应用程序中普遍有用的部件:NoteBookFileEntryPanedWindow 等;共有 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')

Tix 的顶层部件,主要表示应用程序的主窗口。它有一个关联的 Tcl 解释器。

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 部件

Tixtkinter 库引入了 40 多个部件类。

基本部件

class tkinter.tix.Balloon

一个 气球,它会弹出一个部件以提供帮助。当用户将光标移动到绑定了气球部件的部件内部时,屏幕上会显示一个带有描述性消息的小弹出窗口。

class tkinter.tix.ButtonBox

ButtonBox 部件创建一个按钮框,例如通常用于 确定 取消

class tkinter.tix.ComboBox

ComboBox 部件类似于 MS Windows 中的组合框控件。用户可以通过在输入子部件中键入或从列表框子部件中选择来选择选项。

class tkinter.tix.Control

Control 部件也称为 SpinBox 部件。用户可以通过按下两个箭头按钮或直接在输入框中输入值来调整值。新值将根据用户定义的上限和下限进行检查。

tkinter.tix.LabelEntry

LabelEntry 部件将一个输入框部件和一个标签打包成一个大型部件。它可以用来简化“输入表单”类型界面的创建。

tkinter.tix.LabelFrame

LabelFrame 部件将一个框架部件和一个标签打包成一个大型部件。要在 LabelFrame 部件内创建部件,需要相对于 frame 子部件创建新部件,并在 frame 子部件内管理它们。

tkinter.tix.Meter

Meter 部件可用于显示可能需要很长时间才能执行的后台作业的进度。

tkinter.tix.OptionMenu

OptionMenu 创建一个选项菜单按钮。

tkinter.tix.PopupMenu

PopupMenu 部件可以用来替代 tk_popup 命令。Tix PopupMenu 部件的优点是它需要更少的应用程序代码来操作。

tkinter.tix.Select

Select 部件是按钮子部件的容器。它可以用来为用户提供单选按钮或复选按钮风格的选择选项。

tkinter.tix.StdButtonBox

StdButtonBox 部件是一组用于 Motif 风格对话框的标准按钮。

文件选择器

tkinter.tix.DirList

DirList 部件显示一个目录、其上级目录及其子目录的列表视图。用户可以选择列表中显示的目录之一,或切换到另一个目录。

tkinter.tix.DirTree

DirTree 部件显示一个目录、其上级目录及其子目录的树形视图。用户可以选择列表中显示的目录之一,或切换到另一个目录。

tkinter.tix.DirSelectDialog

DirSelectDialog 部件在一个对话框窗口中显示文件系统中的目录。用户可以使用此对话框窗口浏览文件系统以选择所需的目录。

tkinter.tix.DirSelectBox

DirSelectBox 类似于标准的 Motif(TM) 目录选择框。它通常用于用户选择目录。DirSelectBox 将最近选择的目录存储到 ComboBox 部件中,以便可以快速再次选择它们。

tkinter.tix.ExFileSelectBox

ExFileSelectBox 部件通常嵌入在 tixExFileSelectDialog 部件中。它为用户选择文件提供了一种便捷的方法。ExFileSelectBox 部件的样式与 MS Windows 3.1 上的标准文件对话框非常相似。

tkinter.tix.FileSelectBox

FileSelectBox 类似于标准的 Motif(TM) 文件选择框。它通常用于用户选择文件。FileSelectBox 将最近选择的文件存储到 ComboBox 部件中,以便可以快速再次选择它们。

tkinter.tix.FileEntry

FileEntry 部件可用于输入文件名。用户可以手动输入文件名。或者,用户可以按下位于输入框旁边的按钮部件,这将弹出一个文件选择对话框。

分层列表框

tkinter.tix.HList

HList 部件可用于显示任何具有层次结构的数据,例如文件系统目录树。列表项根据其在层次结构中的位置进行缩进并通过分支线连接。

tkinter.tix.CheckList

CheckList 部件显示一个供用户选择的项目列表。CheckList 的作用类似于 Tk 复选按钮或单选按钮部件,但它能够处理比复选按钮或单选按钮多得多的项目。

tkinter.tix.Tree

小部件可以用来以树的形式显示分层数据。用户可以通过打开或关闭树的某些部分来调整树的视图。

表格列表框

class tkinter.tix.TList

TList 小部件可以用来以表格格式显示数据。 TList 小部件的列表条目类似于 Tk 列表框小部件中的条目。主要区别在于:(1) TList 小部件可以以二维格式显示列表条目;(2) 你可以使用图形图像以及多种颜色和字体来显示列表条目。

管理器小部件

class tkinter.tix.PanedWindow

PanedWindow 小部件允许用户交互式地操作多个窗格的大小。窗格可以垂直或水平排列。用户可以通过拖动两个窗格之间的调整大小手柄来更改窗格的大小。

class tkinter.tix.ListNoteBook

ListNoteBook 小部件与 TixNoteBook 小部件非常相似:它可以使用笔记本隐喻在有限的空间内显示多个窗口。笔记本被分成一堆页面(窗口)。一次只能显示其中一页。用户可以通过在 hlist 子部件中选择所需页面的名称来浏览这些页面。

class tkinter.tix.NoteBook

NoteBook 小部件可以使用笔记本隐喻在有限的空间内显示多个窗口。笔记本被分成一堆页面。一次只能显示其中一页。用户可以通过选择 NoteBook 小部件顶部的可视化“选项卡”来浏览这些页面。

图像类型

tkinter.tix 模块添加了

  • pixmap 功能到所有 tkinter.tixtkinter 小部件,以从 XPM 文件创建彩色图像。

  • 复合 图像类型可用于创建由多条水平线组成的图像;每条线都由一系列从左到右排列的项目(文本、位图、图像或空格)组成。例如,复合图像可用于在 Tk Button 小部件中同时显示位图和文本字符串。

其他小部件

class tkinter.tix.InputOnly

InputOnly 小部件用于接受用户的输入,这可以通过 bind 命令完成(仅限 Unix)。

表单几何管理器

此外,tkinter.tix 通过提供以下内容增强了 tkinter

class tkinter.tix.Form

基于所有 Tk 小部件的附加规则的 Form 几何管理器。

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.xpmname 的位图文件(请参阅 tix_addbitmapdir() 方法)。通过使用 tix_getbitmap(),您可以避免在应用程序中对位图文件的路径名进行硬编码。成功后,它会返回位图文件的完整路径名,并在前面加上字符 @。返回值可用于配置 Tk 和 Tix 小部件的 bitmap 选项。

tixCommand.tix_addbitmapdir(directory)

Tix 维护一个目录列表,tix_getimage()tix_getbitmap() 方法将在这些目录下搜索图像文件。标准位图目录是 $TIX_LIBRARY/bitmapstix_addbitmapdir() 方法将 *directory* 添加到此列表中。通过使用此方法,还可以使用 tix_getimage()tix_getbitmap() 方法定位应用程序的图像文件。

tixCommand.tix_filedialog([dlgclass])

返回可在该应用程序的不同调用之间共享的文件选择对话框。此方法将在第一次调用时创建一个文件选择对话框小部件。所有后续对 tix_filedialog() 的调用都将返回此对话框。可以将可选的 dlgclass 参数作为字符串传递,以指定所需的文件选择对话框小部件的类型。可能的选项有 tixFileSelectDialogtixExFileSelectDialog

tixCommand.tix_getimage(self, name)

在其中一个位图目录中定位名称为 name.xpmname.xbmname.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() 方法。