Python Tkinter中sticky方法不生效无法左对齐标签是什么原因
问题原因
你遇到的sticky不生效有三个核心问题:
- 配置参数拼写错误:
grid方法中控制对齐的参数名为sticky,你写为stick少了末尾的y,导致tkinter直接忽略了该配置 - 外边距设置有误:你设置的
padx=150会同时给label的左右两侧各加150px的外边距,就算对齐生效,左侧的150px空白也会让label无法靠到窗口左侧 - 列宽不足:
sticky控制的是组件在所属单元格内的对齐方式,如果单元格宽度和组件宽度一致,对齐效果无法体现,需要给第一列设置权重让它占满剩余水平空间
修正后代码
import tkinter as tk window = tk.Tk() window.geometry("500x300") window.title("Pomodoro by Gringo") # 给第一列设置权重,占满水平剩余空间 window.grid_columnconfigure(0, weight=1) # HEADER - WORK START/STOP label_work = tk.Label(text="PRACA", relief="groove", borderwidth=3) # 修正sticky拼写,padx改为左0右150仅保留右侧留白 label_work.grid(column=0, row=0, sticky=tk.W, padx=(0, 150), pady=10) button_start_work = tk.Button(text="START") button_start_work.grid(column=1, row=0) button_stop_work = tk.Button(text="STOP") button_stop_work.grid(column=2, row=0) # MAIN - POMODORO START/STOP label_pom = tk.Label(text="POMODORO", relief="groove", borderwidth=3) label_pom.grid(column=0, row=2, sticky=tk.W, padx=(0, 150), pady=10) button_start_pom= tk.Button(text="START") button_start_pom.grid(column=1, row=2) button_stop_pom = tk.Button(text="STOP") button_stop_pom.grid(column=2, row=2) window.mainloop()
内容的提问来源于stack exchange,提问作者gringo_zalman
相关产品推荐
相关产品推荐

