You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何设置pady会使Tkinter按钮部件变长?与height参数有关吗?

问题解答

pady 和 height 参数的区别

  • pady 是用来设置按钮内部上下方向的填充间距——也就是按钮内容(比如文字)和按钮边框之间的垂直空白区域。给它赋值后,按钮会因为内部填充变大而在垂直方向“变长”,这就是你看到的效果,和height参数没关系。
  • height 是直接定义按钮的高度:如果按钮有文字,它的单位是行高;如果是空按钮(像你代码里这样),单位是像素。它是直接限制按钮的高度尺寸,和内部填充不是一回事。

你的代码报错原因及修复

你当前的代码有两个关键问题,这应该是你修改时报错的根源:

  1. 继承Tk的Window类,__init__方法里没有调用父类的初始化函数super().__init__(),会导致Tk的核心初始化不完整。
  2. 创建按钮后没有调用布局方法(pack()/grid()/place()),按钮不会被渲染显示。

修复后的代码如下:

from tkinter import *

class Window(Tk):
    def __init__(self):
        super().__init__()  # 必须调用父类初始化
        self.geometry("1200x700")
        self.main()
    def main(self):
        self.button = Button(self, pady=100, background="red")
        self.button.pack()  # 添加布局,让按钮显示出来

window = Window()
window.mainloop()

如果你想通过height控制按钮高度,可以替换参数试试,比如把pady=100改成height=50,就能直接设置按钮的像素高度,不会有内部填充的额外空间。

内容的提问来源于stack exchange,提问作者Dan The Man

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 06:35:10