On this page
24.3. Tix — Tk 的扩展小部件
Tix(Tk 接口扩展)模块提供了一组额外的小部件。尽管标准的 Tk 库具有许多有用的小部件,但它们远非完整。 Tix库提供了标准 Tk 中缺少的大多数常用控件:HList,ComboBox,Control(也称为 SpinBox)和各种可滚动的控件。 Tix还包括许多其他小部件,这些小部件通常在广泛的应用程序中有用:NoteBook,FileEntry,PanedWindow等;其中有 40 多个。
使用所有这些新的小部件,您可以将新的交互技术引入应用程序,从而创建更有用和更直观的用户界面。您可以pass选择最合适的小部件来设计应用程序,以满足您的应用程序和用户的特殊需求。
See also
Tix的主页。这包括其他文档和下载的链接。
手册页和参考资料的在线版本。
程序员参考资料的在线版本。
用于开发 Tix 和 Tkinter 程序的 Tix 应用程序。潮汐应用程序可以在 Tk 或 Tkinter 下运行,并包括 TixInspect ,它是一个检查器,可以远程修改和调试 Tix/Tk/Tkinter 应用程序。
24.3.1. 使用 Tix
-
- class *
Tix.
Tix
(* screenName * [,* baseName * [,* className *]])
- Tix 的顶级小部件,主要表示应用程序的主窗口。它具有关联的 Tcl 解释器。
- class *
Tix模块中的类是Tkinter模块中的类的子类。前者导入后者,因此要在 Tkinter 中使用Tix,您要做的就是导入一个模块。通常,您只需导入Tix,然后将Tkinter.Tk的顶级调用替换为Tix.Tk
:
import Tix
from Tkconstants import *
root = Tix.Tk()
要使用Tix,您必须安装Tix小部件,通常与 Tk 小部件的安装同时进行。要测试您的安装,请try以下操作:
import Tix
root = Tix.Tk()
root.tk.eval('package require Tix')
如果失败,则您有一个 Tk 安装问题,在 continue 之前必须解决。使用环境变量 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]
24.3.2. Tix 小部件
Tix向Tkinter曲目库介绍了 40 多个小部件类。标准发行版的Demo/tix
目录中有所有Tix小部件的演示。
24.3.2.1. 基本小部件
类别
Tix.
Balloon
- 弹出窗口Balloon的窗口以提供帮助。当用户将光标移动到绑定有 Balloon 控件的控件内部时,屏幕上会显示一个带有描述性消息的小弹出窗口。
类别
Tix.
ButtonBox
- ButtonBox小部件创建一个按钮框,例如
Ok Cancel
常用的按钮。
- ButtonBox小部件创建一个按钮框,例如
类别
Tix.
ComboBox
- ComboBox小部件类似于 MS Windows 中的组合框控件。用户可以pass Importing 条目子小部件或从列表框子小部件中进行选择来选择一个选项。
类别
Tix.
Control
- Control小部件也称为
SpinBox
小部件。用户可以pass按下两个箭头按钮或直接在条目中 Importing 值来调整值。将根据用户定义的上限和下限检查新值。
- Control小部件也称为
类别
Tix.
LabelEntry
- LabelEntry小部件将一个 Importing 小部件和一个标签打包到一个大型小部件中。它可以用来简化“条目形式”类型接口的创建。
类别
Tix.
LabelFrame
- LabelFrame小部件将框架小部件和标签打包到一个大型小部件中。要在 LabelFrame 小部件内创建小部件,请相对于
frame
子小部件创建新的小部件,并在frame
子小部件内进行 Management。
- LabelFrame小部件将框架小部件和标签打包到一个大型小部件中。要在 LabelFrame 小部件内创建小部件,请相对于
类别
Tix.
Meter
- Meter小部件可用于显示后台作业的进度,该进度可能需要很长时间才能执行。
类别
Tix.
OptionMenu
- OptionMenu创建选项菜单按钮。
类别
Tix.
PopupMenu
类别
Tix.
Select
- Select小部件是按钮子小部件的容器。它可用于为用户提供选择选项的单选框或复选框样式。
类别
Tix.
StdButtonBox
- StdButtonBox小部件是用于类似 Motif 对话框的一组标准按钮。
24.3.2.2. 文件 selectors
类别
Tix.
DirList
- DirList小部件显示目录,其先前目录及其子目录的列表视图。用户可以选择列表中显示的目录之一,也可以切换到另一个目录。
类别
Tix.
DirTree
- DirTree小部件显示目录,其先前目录及其子目录的树视图。用户可以选择列表中显示的目录之一,也可以切换到另一个目录。
类别
Tix.
DirSelectDialog
- DirSelectDialog小部件在对话框窗口中显示文件系统中的目录。用户可以使用此对话框窗口浏览文件系统以选择所需的目录。
类别
Tix.
DirSelectBox
- DirSelectBox与标准 Motif™目录选择框相似。通常用于用户选择目录。 DirSelectBox 将最近选择的目录存储到 ComboBox 小部件中,以便可以再次快速选择它们。
类别
Tix.
ExFileSelectBox
- ExFileSelectBox小部件通常嵌入在 tixExFileSelectDialog 小部件中。它为用户提供了一种选择文件的便捷方法。 ExFileSelectBox小部件的样式与 MS Windows 3.1 上的标准文件对话框非常相似。
类别
Tix.
FileSelectBox
- FileSelectBox与标准 Motif™文件选择框相似。通常用于用户选择文件。 FileSelectBox 将最近选择的文件存储到ComboBox小部件中,以便可以再次快速选择它们。
类别
Tix.
FileEntry
- FileEntry小部件可用于 Importing 文件名。用户可以手动 Importing 文件名。或者,用户可以按下条目旁边的按钮小部件,这将弹出一个文件选择对话框。
24.3.2.3. 分层列表框
类别
Tix.
HList
- HList小部件可用于显示具有分层结构的任何数据,例如文件系统目录树。列表条目根据其在层次结构中的位置缩进并pass分支线连接。
类别
Tix.
CheckList
- CheckList小部件显示用户要选择的项目列表。 CheckList 的行为类似于 Tk 的 checkbutton 或 radiobutton 窗口小部件,不同之处在于它能够处理比 checkbutton 或 radiobutton 更多的项目。
类别
Tix.
Tree
- Tree小部件可用于以树形式显示层次结构数据。用户可以pass打开或关闭树的部分来调整树的视图。
24.3.2.4. 表格列表框
- 类别
Tix.
TList
24.3.2.5. Manager 小部件
类别
Tix.
PanedWindow
- PanedWindow小部件允许用户交互地操纵几个窗格的大小。窗格可以垂直或水平排列。用户pass在两个窗格之间拖动调整大小手柄来更改窗格的大小。
类别
Tix.
ListNoteBook
- ListNoteBook小部件与
TixNoteBook
小部件非常相似:可以使用笔记本隐喻在有限的空间中显示许多窗口。笔记本分为页面(窗口)堆栈。一次只能显示这些页面之一。用户可以pass在hlist
子小部件中选择所需页面的名称来浏览这些页面。
- ListNoteBook小部件与
类别
Tix.
NoteBook
- NoteBook小部件可用于pass笔记本隐喻在有限的空间中显示许多窗口。笔记本分为一堆页面。一次只能显示这些页面之一。用户可以pass选择“笔记本”小部件顶部的可视“选项卡”来浏览这些页面。
24.3.2.6. 图片类型
Tix模块添加:
Compound图片类型可用于创建由多条水平线组成的图片;每行由从左到右排列的一系列项目(文本,位图,图像或空格)组成。例如,复合图像可用于在 Tk
Button
小部件中同时显示位图和文本字符串。
24.3.2.7. 杂项小部件
- 类别
Tix.
InputOnly
- InputOnly小部件将接受来自用户的 Importing,可以使用
bind
命令(仅限 Unix)完成。
- InputOnly小部件将接受来自用户的 Importing,可以使用
24.3.2.8. 表格几何 Manager
- 类别
Tix.
Form
- Form几何 Management 器基于所有 Tk 小部件的附件规则。
24.3.3. 提示命令
- 类别
Tix.
tixCommand
- tix commands提供对Tix的内部状态和Tix应用程序上下文的其他元素的访问。这些方法操纵的大多数信息都与整个应用程序有关,或者与屏幕或显示器有关,而不是与特定窗口有关。
要查看当前设置,常见用法是:
import Tix
root = Tix.Tk()
print root.tix_configure()
tixCommand.
tix_configure
(* cnf = None ** kw *)- 查询或修改 Tix 应用程序上下文的配置选项。如果未指定选项,则返回字典所有可用选项。如果指定的 option 没有值,则该方法返回一个描述一个命名选项的列表(如果未指定 option,则该列表与返回值的相应子列表相同)。如果指定了一个或多个选项-值对,则该方法会将给定的选项修改为具有给定的值;在这种情况下,该方法返回一个空字符串。选项可以是任何配置选项。
tixCommand.
tix_cget
(* option *)- 返回由* option *给出的配置选项的当前值。选项可以是任何配置选项。
tixCommand.
tix_getbitmap
(* name *)- 在一个位图目录中找到名称为
name.xpm
或name
的位图文件(请参见tix_addbitmapdir()方法)。pass使用tix_getbitmap(),可以避免在应用程序中对位图文件的路径名进行硬编码。成功后,它将返回位图文件的完整路径名,并以字符@
为前缀。返回的值可用于配置 Tk 和 Tix 小部件的bitmap
选项。
- 在一个位图目录中找到名称为
tixCommand.
tix_addbitmapdir
(目录)- Tix 维护一个目录列表,tix_getimage()和tix_getbitmap()方法将在这些目录下搜索图像文件。标准位图目录是
$TIX_LIBRARY/bitmaps
。 tix_addbitmapdir()方法将* directory *添加到此列表中。pass使用此方法,还可以使用tix_getimage()或tix_getbitmap()方法定位应用程序的图像文件。
- Tix 维护一个目录列表,tix_getimage()和tix_getbitmap()方法将在这些目录下搜索图像文件。标准位图目录是
tixCommand.
tix_filedialog
([* dlgclass *])- 返回可以在此应用程序的不同调用之间共享的文件选择对话框。首次调用时,此方法将创建一个文件选择对话框窗口小部件。随后所有对tix_filedialog()的调用将返回此对话框。可以将可选的 dlgclass 参数作为字符串传递,以指定所需的文件选择对话框窗口小部件类型。可能的选项是
tix
,FileSelectDialog
或tixExFileSelectDialog
。
- 返回可以在此应用程序的不同调用之间共享的文件选择对话框。首次调用时,此方法将创建一个文件选择对话框窗口小部件。随后所有对tix_filedialog()的调用将返回此对话框。可以将可选的 dlgclass 参数作为字符串传递,以指定所需的文件选择对话框窗口小部件类型。可能的选项是
tixCommand.
tix_getimage
(* self , name *)- 在一个位图目录中找到名称为
name.xpm
,name.xbm
或name.ppm
的图像文件(请参见上面的tix_addbitmapdir()方法)。如果存在多个具有相同名称(但 extensions 不同)的文件,则根据 X 显示器的深度选择图像类型:在单色显示器上选择 xbm 图像,在彩色显示器上选择彩色图像。pass使用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()方法。