让控件出现在你期望的位置上,有三个方法,一个比一个精确
pack 可以指定上下左右,咱们以label控件为例
import tkinter as tk
window = tk.Tk()
window.title('frame示例') # 设置窗口的标题
window.geometry('400x300') # 设置窗口的大小
tk.Label(window, text='1').pack(side='top') # 上
tk.Label(window, text='2').pack(side='left') # 左
tk.Label(window, text='3').pack(side='bottom') # 下
tk.Label(window, text='4').pack(side='right') # 右
window.mainloop()
效果如下
grid可以划分方格,这个就比pack灵活了很多
import tkinter as tk
window = tk.Tk()
window.title('定位示例') # 设置窗口的标题
window.geometry('400x300') # 设置窗口的大小
for i in range(3):
for j in range(3):
tk.Label(window, text=i*3+j).grid(row=i, column=j, padx=10, pady=10)
window.mainloop()
效果图
grid方法里,row指定了行,col指定列,padx设置单元格左右间距,pady设置上下行间距。
在3个设置空间位置的方法中,place是最灵活的,因为它直接指定了空间出现的位置
import tkinter as tk
window = tk.Tk()
window.title('定位示例') # 设置窗口的标题
window.geometry('400x300') # 设置窗口的大小
tk.Label(window, text="我就在这里x=100,y=150").place(x=100, y=150, anchor='nw')
window.mainloop()
效果图如下
place指明了控件出现的位置,但是控件自身也是有大小的,因此,还需要指使用明控件的哪个部分进行定位,我的代码里设置anchor='nw',这就就表示用控件的西北角,也就是左上角进行定位。
上北,下南,左西,右东, 上n,下s,左w,右e 英语单词north,south,west,east的首字母
QQ交流群: 211426309