基于Tk的应用程序的基本组件称为小部件(Widget)。组件有时也称为窗口,因为在Tk中,"widget"和"window"通常可以互换使用。 

创建小部件

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

type variableName arguments options

这里的类型是指小部件类型,如按钮,标签等。

命名约定

窗口小部件使用类似于命名包的结构。在Tk中,根窗口用句点(.)命名,窗口中的元素(例如button)命名为.myButton1。变量名称应以小写字母,数字或标点符号(句点除外)开头。建议使用小写字母开头标签。

颜色命名约定

可以使用redgreen等名称来命名颜色。它还可以使用以#表示的十六进制。

尺寸约定

默认单位是像素,当无涯教程不指定尺寸时使用。其他尺寸是i表示英寸,m表示毫米,c表示厘米,p表示点。

常用选项

所有小部件都有很多可用的常用选项,下表中列出了这些选项-

Sr.No. Syntax & Remark
1

-background color

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

2

-borderwidth width

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

3

-font fontDescriptor

用于设置小部件的字体。

4

-foreground color

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

5

-height number

用于设置小部件的高度。

6

-highlightbackground color

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

7

-highlightcolor color

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

8

-padx number

设置小部件的padx。

9

-pady number

设置小部件的pady。

10

-relief condition

设置此小部件的3D浮雕。条件可能会升高,凹陷,变平,脊,实心或凹槽。

11

-text text

设置小部件的文本。

12

-textvariable varName

与小部件关联的变量。当窗口小部件的文本更改时,将使用窗口小部件的文本设置变量。

13

-width number

设置小部件的宽度。

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

#!/usr/bin/wish

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

当无涯教程运行上面的程序时,将得到以下输出。

Hello World Options

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

基本小部件

Sr.No. Widget & Remark
1

Label

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

2

Button

可单击并触发动作的小部件。

3

Entry

小部件过去接受单行文本作为输入。

4

Message

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

5

Text

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

6

Toplevel

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

布局小部件

Sr.No. Widget & Remark
1

Frame

集合小部件以容纳其他小部件。

2

Place

小部件,用于将其他小部件固定在特定位置,并带有其原点和确切大小的坐标。

3

Pack

简单的小部件,用于将小部件组织成块,然后再将其放置在父小部件中。

4

Grid

用于嵌套在不同方向包装的小部件的小部件。

选择小部件

Sr.No. Widget & Remark
1

Radiobutton

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

2

Checkbutton

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

3

Menu

充当菜单项持有者的小部件。

4

Listbox

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

Mega小工具

Sr.No. Widget & Remark
1

Dialog

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

2

Spinbox

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

3

Combobox

将条目与可用options列表结合在一起的小部件。

4

Notebook

带标签的小部件,可使用索引标签帮助在多个页面之一之间切换。

5

Progressbar

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

6

Treeview

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

7

Scrollbar

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

8

Scale

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

其他小工具

Sr.No. Widget & Remark
1

Canvas

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

参考链接

https://www.learnfk.com/tcl-tk/tk-widgets-overview.html