Tk - 小部件概述


基于 Tk 的应用程序的基本组件称为小部件。组件有时也称为窗口,因为在 Tk 中,“窗口”和“窗口小部件”经常互换使用。Tk 是一个软件包,它提供了一组丰富的图形组件,用于使用 Tcl 创建图形应用程序。

Tk 提供了一系列小部件,从基本的 GUI 小部件(如按钮和菜单)到数据显示小部件。这些小部件非常可配置,因为它们具有默认配置,因此易于使用。

Tk 应用程序遵循小部件层次结构,其中任意数量的小部件可以放置在另一个小部件内,并且这些小部件可以放置在另一个小部件内。Tk 程序中的主小部件称为根小部件,可以通过创建 TkRoot 类的新实例来创建。

创建一个小部件

下面给出了创建小部件的语法。

type variableName arguments options

这里的类型指的是widget类型,如按钮、标签等。根据每个小部件的单独语法,参数可以是可选的,也可以是必需的。选项范围从每个组件的大小到格式。

小部件命名约定

Widget 使用类似于命名包的结构。在 Tk 中,根窗口以句点 (.) 和窗口中的一个元素命名,例如按钮命名为 .myButton1。变量名称应以小写字母、数字或标点符号(句点除外)开头。第一个字符之后的其他字符可以是大写或小写字母、数字或标点符号(句点除外)。建议使用小写字母来开始标签。

颜色命名约定

颜色可以使用红色、绿色等名称来声明。也可以使用十六进制,用#表示。十六进制位数可以是 3、6、9 或 12。

尺寸约定

默认单位是像素,当我们没有指定尺寸时使用它。其他尺寸为 i 代表英寸、m 代表毫米、c 代表厘米、p 代表点。

常用选项

所有小部件都有很多常用选项,下表列出了它们 -

先生。 语法和描述
1

-背景颜色

用于设置小部件的背景颜色。

2

-borderwidth 宽度

用于在 3D 效果中绘制边框。

3

-font 字体描述符

用于设置小部件的字体。

4

-前景色

用于设置小部件的前景色。

5

- 身高数字

用于设置小部件的高度。

6

-突出显示背景颜色

用于设置当小部件没有输入焦点时在小部件周围绘制的颜色矩形。

7

-高亮颜色

用于设置当小部件具有输入焦点时在小部件周围绘制的颜色矩形。

8

-padx号码

设置小部件的 padx。

9

-稻谷号码

设置小部件的 pady。

10

-缓解条件

设置此小部件的 3D 浮雕。状况可以是凸起的、凹陷的、平坦的、脊状的、实心的或凹槽的。

11

- 文本文本

设置小部件的文本。

12

-text变量变量名

与小部件关联的变量。当小部件的文本发生变化时,该变量将被设置为小部件的文本。

13

-宽度数字

设置小部件的宽度。

下面显示了一个简单的选项示例。

#!/usr/bin/wish

grid [label .myLabel -background red -text "Hello World" -relief ridge -borderwidth 3]
   -padx 100 -pady 100

当我们运行上面的程序时,我们将得到以下输出。

你好世界选项

可用小部件列表分类如下 -

基本小部件

先生。 小部件和描述
1

标签

用于显示单行文本的小部件。

2

按钮

可点击并触发操作的小部件。

3

入口

用于接受单行文本作为输入的小部件。

4

信息

用于显示多行文本的小部件。

5

文本

用于显示和选择性编辑多行文本的小部件。

6

顶层

具有窗口管理器提供的所有边框和装饰的窗口。

布局小部件

先生。 小部件和描述
1

框架

用于容纳其他小部件的容器小部件。

2

地方

用于将其他小部件保存在特定位置的小部件,并具有其原点坐标和精确大小。

3

简单的小部件,用于在将小部件放入父小部件之前将它们组织成块。

4

网格

小部件以不同方向嵌套小部件。

选择小部件

先生。 小部件和描述
1

单选按钮

具有一组开/关按钮和标签的小部件,可以选择其中一个。

2

检查按钮

具有一组开/关按钮和标签的小部件,其中许多可以选择。

3

菜单

充当菜单项支架的小部件。

4

列表框

显示单元格列表的小部件,可以选择其中一个或多个单元格。

超级小部件

先生。 小部件和描述
1

对话

用于显示对话框的小部件。

2

纺纱箱

允许用户选择数字的小部件。

3

组合框

将条目与可供使用的选项列表相结合的小部件。

4

笔记本

选项卡式小部件有助于使用索引选项卡在多个页面之一之间进行切换。

5

进度条

用于为文件上传等长时间操作的进度提供视觉反馈的小部件。

6

树视图

用于显示并允许浏览更多以树形式的项目层次结构的小部件。

7

滚动条

没有文本或画布小部件的滚动小部件。

8

规模

缩放小部件以通过滑块选择数值。

其他小部件

先生。 小部件和描述
1

帆布

用于显示图形和图像的绘图小部件..

我们将在接下来的章节中介绍每个小部件。