【问题标题】:Why can't I adjust my button/label size when using "ttk."?为什么在使用“ttk.”时无法调整按钮/标签大小?
【发布时间】:2021-10-07 23:23:29
【问题描述】:

我必须放置一个“ttk”。在我制作的每个标签和按钮后面,否则文本不会显示在标签和按钮上。

myButton = Button(root,text="test",padx=200,pady=20).pack()

这只会显示一个没有文本的白色矩形,直到我单击它,它会暂时变为蓝色并显示代码中分配给它的文本。

我的主要问题是,当我拥有“ttk”时,我无法更改 padx/pady/columnspan。在我的标签和按钮后面

myButton = ttk.Button(root,text="test",padx=200,pady=20).pack()

此代码导致此错误:

_tkinter.TclError: unknown option "-padx"

如果有人想知道,我正在使用 MacO。

【问题讨论】:

    标签: python tkinter ttk


    【解决方案1】:

    那是因为 ttk 使用 padding 作为一个关键字。你现在的例子是:

    myButton = ttk.Button(root,text="test",padding="200 30 200 30").pack()
    

    【讨论】:

    • 非常感谢!现在可以使用了。还有一件事,如何在 .grid 参数中使用 columnspan 命令,使 1 个按钮扩展为 2 列的大小?
    • 好吧,首先你必须切换到使用网格几何管理器而不是打包。然后将其中的参数设置为columnspan=2。按钮代码:myButton = ttk.Button(root,text="test",padding="200 30 200 30").grid(column=0,row=0,columnspan=2) 它看起来不像跨越两列,但确实如此,您只需要另一个元素占据与其相邻的列和行。
    • 另外,您可能会注意到按钮没有调整大小。在网格参数中添加sticky='nsew' 以定义在窗口调整大小时它会如何粘贴。然后在前面的行中添加 root.columnconfigure(0,weight=1)root.rowconfigure(0,weight=1) 表示它应该调整大小。只是想说:]
    • 谢谢。这正是我最初的设想。
    • 请注意:您应该在创建按钮后调用.pack()。将myButton 分配给ttk.Button(root,text="test",padding="200 30 200 30").pack() 会将其分配给None,因为这是.pack() 返回的内容。使用myButton = ttk.Button(root,text="test",padding="200 30 200 30")然后 myButton.pack()
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-10
    • 1970-01-01
    • 1970-01-01
    • 2021-09-20
    • 1970-01-01
    相关资源
    最近更新 更多