如何将 Tkinter 小组件居中对齐在粘性框架中?


Tkinter 具有大量用于配置 Tkinter 小组件属性的内置函数和方法。这些属性因不同的几何管理器而异。网格几何管理器是其中之一,它处理应用程序中的许多复杂布局问题。网格几何管理器将在给定空间(如适用)中添加所有小组件,而不会相互重叠。

假设我们已使用网格几何管理器创建了粘性框架,并且希望在框架内居中显示标签文本小组件。在这种情况下,我们必须先通过配置行和列属性来使主窗口变粘。主窗口一旦通过该框架变得粘性,就可以使任何小组件合理地调整大小。在这种情况下,标签小组件必须具有粘性。现在,要居中对齐小组件,请指定权重的值。

示例

# Import the required library
from tkinter import *

# Create an instance of tkinter frame
win= Tk()

# Set the size of the Tkinter window
win.geometry("700x350")

# Add a frame to set the size of the window
frame= Frame(win, relief= 'sunken')
frame.grid(sticky= "we")

# Make the frame sticky for every case
frame.grid_rowconfigure(0, weight=1)
frame.grid_columnconfigure(0, weight=1)

# Make the window sticky for every case
win.grid_rowconfigure(0, weight=1)
win.grid_columnconfigure(0, weight=1)

# Add a label widget
label= Label(frame, text= "Hey Folks! Welcome to Tutorialspoint",
font=('Helvetica 15 bold'), bg= "white")
label.grid(row=3,column=0)
label.grid_rowconfigure(1, weight=1)
label.grid_columnconfigure(1, weight=1)

win.mainloop()

输出

执行上述代码将显示一个居中放置在粘性框架内的标签文本。

更新时间:2021 年 6 月 7 日

超过 6K 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始
广告