如何在粘性框架中使Tkinter控件居中?
Tkinter有许多内置函数和方法,可以用来配置Tkinter控件的属性。这些属性因不同的几何管理器而异。网格几何管理器是其中之一,可处理任何应用程序中的许多复杂布局问题。网格几何管理器将所有小部件添加到给定空间中(如果适用),而不会互相重叠。
假设我们使用网格几何管理器创建了一个粘性框架,并且我们想将Label文本小部件居中放置在框架内。在这种情况下,我们首先必须通过配置行和列属性使主窗口粘性。一旦主窗口与框架粘性,它可以使任何小部件合理调整大小。标签小部件在此情况下必须粘性。现在,为了将小部件居中,指定行、列和权重的值。
示例
# 导入所需库
from tkinter import *
# 创建Tkinter窗口实例
win= Tk()
# 设置Tkinter窗口的大小
win.geometry("700x350")
# 添加框架以设置窗口的大小
frame= Frame(win, relief= 'sunken')
frame.grid(sticky= "we")
# 使框架在每种情况下都具有粘性
frame.grid_rowconfigure(0, weight=1)
frame.grid_columnconfigure(0, weight=1)
# 使窗口在每种情况下都具有粘性
win.grid_rowconfigure(0, weight=1)
win.grid_columnconfigure(0, weight=1)
# 添加一个标签小部件
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()
输出
执行上述代码将显示居中的标签文本,位于粘性框架中。