Python 3 – Tkinter 填充样式

Python 3 – Tkinter 填充样式

在 Tkinter 中,我们可以使用 fill 属性来设置组件在容器中的填充方式,该属性有四个可选值:NONE、X、Y、BOTH。

  • NONE:组件不填充;
  • X:横向填充;
  • Y:纵向填充;
  • BOTH:同时横向与纵向填充。

接下来我们看一下具体的实现方法。

Tkinter 填充样式示例代码

import tkinter as tk

root = tk.Tk()

# 容器
frame1 = tk.Frame(root, bg='blue')
frame1.pack(fill=tk.BOTH, expand=True)

# 组件
label1 = tk.Label(frame1, text='Label 1', bg='yellow')
label1.pack(pady=10)

label2 = tk.Label(frame1, text='Label 2', bg='red')
label2.pack(side=tk.LEFT, padx=10, pady=10)

label3 = tk.Label(frame1, text='Label 3', bg='green')
label3.pack(side=tk.RIGHT, padx=10, pady=10)

root.mainloop()

在上面的示例代码中,我们使用了 Frame 和 Label 这两个组件来说明填充样式的使用方法。具体地,

  • Frame 是一个容器,我们使用 fill 和 expand 属性来设置填充样式;
  • Label 是一个文本组件,我们使用 padx 和 pady 属性来设置组件在容器中的填充空间。

Frame 组件的 fill 属性默认值是 NONE,表示不填充。当 fill 值为 X 时,横向填充;当 fill 值为 Y 时,纵向填充;当 fill 值为 BOTH 时,同时横向与纵向填充。expand 属性默认值是 False,表示不扩展。当 expand 值为 True 时,扩展容器使其获得额外的空间。

Label 组件的 padx 和 pady 属性默认值是 0,表示不填充。当有数值时,表示在组件的左右(padx)或上下(pady)两个方向填充空间。

在上述代码中,我们使用了 side 属性来设置 Label 组件在容器中的位置,默认值为 TOP。当值为 BOTTOM 时,位于容器底部;当值为 LEFT 时,位于容器左边;当值为 RIGHT 时,位于容器右边。这里我们使用了 LEFT 和 RIGHT 来分别设置 Label 2 和 Label 3。我们还可以使用 anchor 属性来设置组件的对齐方式,默认为 CENTER。

结论

使用 fill 和 expand 属性可以让容器自适应窗口大小,使组件获得更多空间;使用 padx 和 pady 属性可以设置组件的填充空间。在编写 Tkinter 界面时,填充样式的设置非常常见,掌握好这些属性的使用方法可以使界面更加美观。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程