基于Tk的应用程序的基本组件称为小部件(Widget)。组件有时也称为窗口,因为在Tk中,"widget"和"window"通常可以互换使用。
创建小部件
下面给出了创建小部件的语法。
type variableName arguments options
这里的类型是指小部件类型,如按钮,标签等。
命名约定
窗口小部件使用类似于命名包的结构。在Tk中,根窗口用句点(.)命名,窗口中的元素(例如button)命名为.myButton1。变量名称应以小写字母,数字或标点符号(句点除外)开头。建议使用小写字母开头标签。
颜色命名约定
可以使用red,green等名称来命名颜色。它还可以使用以#表示的十六进制。
尺寸约定
默认单位是像素,当无涯教程不指定尺寸时使用。其他尺寸是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
当无涯教程运行上面的程序时,将得到以下输出。
可用小部件的列表分类如下-
基本小部件
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 用于显示图形和图像的绘图小部件。 |