17. 小部件Message
此小部件类似于小部件 (请参见第 12 节 “标签小部件”),但它适用于 在多行上显示消息。所有文本将 以相同的字体显示;如果需要显示文本 使用多种字体,请参见第 24 节 “文本小部件”。Label
创建新构件作为子小部件 名为 的根窗口或框架:Message
parent
w = tk.Message(parent, option, ...)
此构造函数返回新小部件。选项可以是以下任何一种:Message
表 26.消息
小部件选项
aspect | 使用此选项指定宽度与 身高百分比。例如,会给你一条短信 适合正方形;跟 文本区域的宽度将是高度的两倍。这 默认值为 150,即文本将适合 放入一个比高宽 50% 的盒子中。aspect=100 aspect=200 |
bg 或background | 文本后面的背景颜色;请参见第 5.3 节 “颜色”。 |
bd 或borderwidth | 小部件周围边框的宽度;请参见第 5.1 节 “尺寸”。默认值为 <> 像素。仅当此选项不是 时,此选项才可见。relief tk.FLAT |
cursor | 指定鼠标 在小部件上;请参见第 5.8 节 “游标”。 |
font | 指定用于在 控件;请参见第 5.4 节 “键入字体”。 |
fg 或foreground | 指定文本颜色;请参见第 5.3 节 “颜色”。 |
highlightbackground | 焦点的颜色 当小组件没有焦点时突出显示。请参见第 53 节 “焦点:路由键盘输入”。 |
highlightcolor | 颜色显示在 当小组件具有焦点时,焦点突出显示。 |
highlightthickness | 焦点突出显示的厚度。 |
justify | 使用此选项可以指定多行 文本对齐。用于获得笔直的左边距; 使每条线居中;并直截了当 右边距。justify=tk.LEFT justify=tk.CENTER justify=tk.RIGHT |
padx | 使用此选项可在 文本左侧和右侧的小部件。这 值以像素为单位。 |
pady | 使用此选项可在 文本上方和下方的小部件。值在 像素。 |
relief | 此选项指定边框的外观 在小部件的外部周围;请参见第 5.6 节 “浮雕样式”。默认样式为 。tk.FLAT |
takefocus | 通常,小部件不会 获取焦点(请参见第 53 节 “焦点:路由键盘输入”)。用于将微件添加到 焦点遍历列表。Message takefocus=True |
text | 此选项的值是要包含的文本 显示在小部件内。 |
textvariable | 如果您希望能够更改消息 在程序控制下,将此选项与实例关联(请参见第 52 节 “控制变量:小部件后面的值”)。这个的价值 变量是要显示的文本。如果你 同时指定 和 选项,则忽略该选项。StringVar text textvariable text |
width | 使用此选项可指定文本的宽度 微件中的区域(以像素为单位)。默认宽度 取决于显示的文本和选项的值。aspect |
18. 小部件OptionMenu
此小部件的目的是提供一组固定的 下拉菜单中的用户选项。
上图显示了两种状态。左侧示例显示了 它的初始形式。右侧示例显示了它如何 当鼠标单击它并向下拖动到 选择。OptionMenu
'boat'
创建新小部件作为 名为 的根窗口或框架的子窗口或框架的子项:OptionMenu
parent
w = tk.OptionMenu(parent, variable, choice1, choice2, ...)
此构造函数返回新小部件。这是一个实例(请参见第 52 节 “控制变量:小部件背后的值”),它与 小部件,其余参数是要选择的 在小组件中显示为字符串。OptionMenu
variable
StringVar
上图是使用以下代码片段创建的:
optionList = ('train', 'plane', 'boat')
self.v = tk.StringVar()
self.v.set(optionList[0])
self.om = tk.OptionMenu(self, self.v, *optionList)
要找出当前在小部件中选择了哪个选项,关联控制变量上的方法将返回该 选择为字符串。OptionMenu
.get()
19. 小部件PanedWindow
小部件的目的是 让应用程序的用户对空间大小进行一些控制 在应用程序中划分。PanedWindow
A有点像a:它是孩子的容器 小部件。每个小部件都包含一个水平或垂直的子堆栈 部件。使用鼠标,用户可以拖动边界 在子小部件之间来回切换。PanedWindow
Frame
PanedWindow
-
您可以选择在小组件中显示控点。句柄是 用户可以用鼠标拖动的小方块。
-
您可以选择使窗框可见。腰带是放置在孩子之间的条形 部件。
-
窗格是占用的区域 一个子小部件。
创建新小部件作为 名为 的根窗口或框架的子窗口或框架的子项:PanedWindow
parent
w = tk.PanedWindow(parent, option, ...)
此构造函数返回新小部件。以下是选项:PanedWindow
表 27.窗格窗口
小部件选项
bg 或background | 显示在子项后面的背景色 部件;请参见第 5.3 节 “颜色”。 |
bd 或borderwidth | 外部边框的宽度 控件;请参见第 5.1 节 “尺寸”。这 默认值为两个像素。 |
cursor | 鼠标悬停时要显示的光标 小部件;请参见第 5.8 节 “游标”。 |
handlepad | 使用此选项可指定 手柄和腰带的末端。对于 ,这是距离 在窗扇的左端和手柄之间; 对于 ,它是 窗扇顶部与 处理。默认值为 5 像素;为 其他值,请参见第 1.<> 节 “维度”。orient=tk.VERTICAL orient=tk.HORIZONTAL |
handlesize | 使用此选项可指定句柄的大小, 它总是一个正方形;请参见第 5.1 节 “尺寸”。默认值为 八个像素。 |
height | 指定小部件的高度;请参见第 5.1 节 “尺寸”。如果未指定此项 选项,高度由高度决定 子小组件。 |
opaqueresize | 此选项控制调整大小操作的方式 工程。对于默认值,调整大小已完成 随着腰带的拖拽而连续。如果这个 选项设置为 、窗扇 (和相邻的子小部件)保持原位,直到 用户释放鼠标按钮,然后它跳跃 到新位置。opaqueresize=True False |
orient | 要并排放置堆叠子构件,请使用 。将它们堆叠在顶部 底部,使用 .orient=tk.HORIZONTAL orient=tk.VERTICAL |
relief | 选择边框周围浮雕样式 控件;请参见第 5.6 节 “浮雕样式”。默认 是。tk.FLAT |
sashpad | 使用此选项可在任一上分配额外空间 每条腰带的侧面。默认值为零;对于其他 值,请参见第 5.1 节 “维度”。 |
sashrelief | 此选项指定用于 渲染窗框;请参见第 5.6 节 “浮雕样式”。 默认样式为 。tk.FLAT |
sashwidth | 指定窗扇的宽度;请参见第 5.1 节 “尺寸”。默认宽度为 <> 像素。 |
showhandle | 用于显示 处理。对于默认值,用户仍可以使用鼠标移动 窗扇。手柄只是一个视觉提示。showhandle=True False |
width | 小部件的宽度;请参见第 5.1 节 “尺寸”。如果未指定值,则宽度将 由子小组件的大小决定。 |
要将子小部件添加到 , 将子构件创建为父小部件的子小部件,但不要使用该方法注册它们,而是使用 .PanedWindow
PanedWindow
.grid()
.add()
PanedWindow
以下是小部件上的方法。PanedWindow
.add(
child
[, option
=value
] ...)
使用此方法将给定的小部件添加为下一个 这个孩子.第一 使用 作为其父小组件创建小组件,但不要调用该方法来注册它。然后打电话,孩子将出现在下一个可用位置。child
PanedWindow
child
PanedWindow
.grid()
.add(
child
)PanedWindow
与每个子项关联的是一组配置 控制其位置和外观的选项。 请参见第 19.1 节 “PanedWindow 子配置 选项”。您可以提供 这些配置选项作为关键字参数 方法。您还可以设置 或随时使用该方法更改其值,或检索 使用该方法的任何这些选项的当前值;这些方法是 如下所述。.add()
.paneconfig()
.panecget()
.forget(
child
)
删除子小组件。
.identify(
x
, y
对于窗口坐标中的给定位置,此方法返回 描述该位置的要素的值。(
x
, y
)
-
如果功能是子窗口,则方法 返回一个空字符串。
-
如果特征是分扇,则该方法返回 元组,其中第一个为 0 腰带,1 表示第二个,依此类推。
(
n
, 'sash')n
-
如果特征是句柄,则该方法返回 元组,其中第一个为 0 句柄,1 表示第二个,依此类推。
(
n
, 'handle')n
.panecget(
child
, option
)
此方法检索子小部件的值 配置选项,其中 是子小部件,是选项的名称作为 字符串。对于子小部件配置的列表 选项,请参见第 19.1 节 “PanedWindow 子配置 选项”。child
option
.paneconfig(
child
, option
=value
, ...)
使用此方法为子项配置选项 部件。第 19.1 节 “PanedWindow 子配置 ”中描述了这些选项。 选项”。
.panes()
此方法返回子小部件的列表,在 从左到右(对于)或从上到下(对于)的顺序。orient=tk.HORIZONTAL
orient=tk.VERTICAL
.remove(
child
)
删除给定的 ;这是相同的 操作作为方法。child
.forget()
.sash_coord(
index
)
此方法返回窗扇的位置。参数选择腰带:0 表示 前两个孩子,一个为第二个之间的腰带 和第三个孩子,等等。结果是一个包含坐标的元组 腰带的左上角。index
(
x
, y
)
.sash_place(
index
, x
, y
)
使用此方法重新定位由 (0 对于第一个腰带,依此类推)。和坐标 指定左上角所需的新位置 腰带的一角。特金特忽略坐标 与微件的方向正交:使用值 以重新定位 的窗扇,并使用坐标 移动窗扇选项。index
x
y
x
orient=tk.HORIZONTAL
y
orient=tk.VERTICAL
9.1. 子配置 选项PanedWindow
a 的每个子项都有一组 控制其位置和 外观。当孩子时,可以提供这些选项 与方法一起添加,或设置 使用方法,或查询 使用所描述的方法 以上。PanedWindow
.add()
.paneconfig()
.panecget()
表 28.PanedWindow
子小部件选项
after | 通常,当你一个新的 子到一个,新的 子组件将添加到任何现有子小组件之后。 您可以改用该选项插入 新小部件位于现有小部件之后的位置 子小部件 ..add() PanedWindow after=
|
before | 在调用方法时用作选项时,将新小部件放在 现有子小部件之前的位置。before= .add()
|
height | 此选项指定所需的高度 子小部件;请参见第 5.1 节 “尺寸”。 |
minsize | 使用此选项可指定 子构件在 的方向上。对于 ,这是最小值 宽度;对于 ,它是 最小高度。有关允许的值,请参见第 5.1 节 “尺寸”。PanedWindow orient=tk.HORIZONTAL orient=tk.VERTICAL |
padx | 要添加到左侧的额外空间量 和子小部件的右侧;请参见第 5.1 节 “尺寸”。 |
pady | 上面要添加的额外空间量和 在子小部件下方;请参见第 5.1 节 “尺寸”。 |
sticky | 此选项的功能类似于方法的参数;请参见第 4.1 节 “.grid() 方法”。它指定如何定位子小部件 如果窗格大于微件。为 示例,将位置 左上角的小部件 窗格的(“西北”)角。sticky .grid() sticky=tk.NW |
width | 子小部件的所需宽度;请参见第 5.1 节 “尺寸”。 |