tkinter组件定位异常,如何将Text组件调整至Label下方左侧?
问题原因
你设置的side='left'会让Tkinter将Text组件放在父容器剩余垂直空间的左边缘,默认垂直方向为居中对齐,因此Text会出现在窗口左中部,单独加pady参数不会生效是因为布局逻辑没有对齐方向配合。
解决方案
修改Text组件的pack()参数即可,两种可选方式:
- 去掉
side='left',新增anchor='w'(左对齐),此时pady可正常控制和上方Label的垂直间距symbol_input.pack(padx=5, pady=10, anchor='w') - 保留
side='left'的话,新增anchor='nw'(左上角对齐)即可symbol_input.pack(padx=5, pady=10, side='left', anchor='nw')
修改后完整代码
from tkinter import * from tkinter.font import Font root = Tk() root.title("Project") root.geometry('700x400') name = Label(root,text="Project") name.configure(font=('Arial',20),fg='Blue',bg='yellow') name.pack() symbol_input = Text(root) symbol_input.config(height=1,width=10) symbol_input.pack(padx=5, pady=10, anchor='w') root.mainloop()
内容的提问来源于stack exchange,提问作者coder
相关产品推荐
相关产品推荐

